结构体 {#结构体}
C++中的结构体(Struct)是一种用户定义的数据类型,用于组合不同类型的数据成员。结构体与类(class)相似,但默认访问权限是public,而类的默认访问权限是private。
成员独立占空间
|------------------------------|--------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7 8 9 10
| struct student //结构体 + 结构名 { // 成员 // 类型名 int num; char name[20]; char sex; int age; char addr[30]; };
|
访问方式
|-------------------|----------------------------------------------------------------------------------------------------|
| 1 2 3 4 5
| //struct + 结构名 + 变量名; struct Book b1,b2; //结构体变量名.结构体成员类型名 b1.price=12.00; b2.price=20.00;
|
struct student stu[5];
创建stu1,stu2,stu3,...stu5 student的结构体。
\t制表符 {#t制表符}
制表符(Tab)是一种控制字符,用于在文本中创建水平间距。在C++和许多其他编程语言中,制表符可以使用转义序列 "\t" 来表示。当你在字符串中使用 "\t" 时,它会被解释为一个制表符,而不是字面上的两个字符 "\t"。
使用制表符的目的: {#使用制表符的目的:}
-
对齐文本: 制表符常用于在输出文本中对齐列,使得表格或输出结果更易读。
-
格式化输出: 制表符可以用于创建等宽的间距,以便更好地格式化输出。
示例: {#示例:}
|---------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7 8 9
| #include <iostream> int main() { std::cout << "Name\tAge\tCity" << std::endl; std::cout << "John\t25\tNew York" << std::endl; std::cout << "Alice\t30\tSan Francisco" << std::endl; return 0; }
|
在上面的例子中,\t
被用作制表符,用于在输出中创建列之间的等宽间距。输出可能类似于:
|---------------|----------------------------------------------------------------------------------|
| 1 2 3
| Name Age City John 25 New York Alice 30 San Francisco
|
注意事项: {#注意事项:}
-
制表符的宽度是不固定的,通常相当于移动到下一个制表符位置。在某些环境中,制表符可能被解释为一定数量的空格。
-
使用制表符时要注意,它可能在不同的文本编辑器或终端中显示不同的宽度,因为制表符的显示宽度通常是可配置的。
-
在编写代码时,可以使用制表符来缩进代码块,但最好在编码规范中定义明确的缩进规则,以确保代码在不同环境中都有一致的可读性。
结构体的指针 {#结构体的指针}
|------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14
| struct student { int num; }; int main() { student std1 = {1}; student *p; p=&std1; //声明了一个名为 p 的指向 student 结构体的指针,并将其赋值为 std1 结构体的地址 cout<<p->num; }
|
使用箭头操作符 ->,通过指针 p 访问结构体成员 num 的值,并将其输出到标准输出流(通常是终端窗口)。
注意,箭头操作符 -> 用于通过指针访问结构体或类的成员,相当于 (*p).num,但更加方便和简洁。