下面这些内容很简单 但是我还是怕自己忘了 所以记录一下
1.结构体的定义
struct <结构体的名字>{
<普通定义变量的格式:eg int a;(这里也可以直接赋值)> #结构体里面的内容
数据类型1 数据变量1;#换句话表示
}; #这里的分号不能忘记
struct Student{
int number, birth_year;
string name;
};
这里也可以说结构体就是一个混合的数据类型
2.声明结构体变量
- 第一种
eg; <结构体名字> <变量名> #变量名按照命名要求
Student abs;
- 第二种
eg:申明三个变量
Student zhang_san, li_si, wang_mazi;
- 第三种
eg:直接在结构体中申明变量
struct Student{
int number, birth_year;
string name;
} zhang_san, li_si, wang_mazi;
给结构体变量赋值
- 初始化列表赋值
Student zhang_san = {1, 2000, “ZhangSan”};
“1” 对应 “number”
“2000” 对应 “birth_year”
“ZhangSan” 对应 “name”
[ ] 使用 初始化列表 和数组的初始化类似,会根据给出的元素依次 初始化结构体中的每个成员
[ ] 如果给出的元素小于成员数量,排在后面的就会保持没有被初始化
- 构造函数初始化
struct Student{
int number, birth_year;
string name;
// 在结构体里定义构造函数
// 在初始化时所有学生的出生年份都被设置为2000
// 可以传入两个参数,分别代表学号和姓名,如果不传入参数,默认学号为0,姓名为""
Student (int num=0, string n="") {
number = num;
birth_year = 2000;
name = n;
}
};
// 初始化时只用传递两个参数即可
Student li_si(2, "LiSi");
3.结构体成员访问
结构体变量名 . 结构体成员变量名
zhang_san.number