结构体

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制表符

制表符(Tab)是一种控制字符,用于在文本中创建水平间距。在C++和许多其他编程语言中,制表符可以使用转义序列 “\t” 来表示。当你在字符串中使用 “\t” 时,它会被解释为一个制表符,而不是字面上的两个字符 “\t”。

使用制表符的目的:
  1. 对齐文本: 制表符常用于在输出文本中对齐列,使得表格或输出结果更易读。

  2. 格式化输出: 制表符可以用于创建等宽的间距,以便更好地格式化输出。

示例:
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. 在编写代码时,可以使用制表符来缩进代码块,但最好在编码规范中定义明确的缩进规则,以确保代码在不同环境中都有一致的可读性。

结构体的指针

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,但更加方便和简洁。