8.结构体
8.1结构体的基本概念 结构体属于用户自定义的数据类型,允许用户储存不同的数据类型 8.2 结构体的定义和使用 语法:struct 结构体名 { 结构体成员 }; 1.struct 结构体名 变量名 2.struct 结构体名 变量名 = { 成员值1,成员值2,。。。} 3.定义结构体是顺便创建变量 总结: 1.定义结构体是关键字 struct 不可以省略 2.创建结构体变量时,关键字struct 可以省略 3.结构体变量利用操作符 . 来访问成员 8.3 结构体数组 作用:将自定义的结构体放到数组中方便维护 语法: struct 结构体名 数组名[元素个数]={元素} 8.4 结构体指针 作用:通过指针访问结构体中的成员 利用操作符 -> 可以通过结构体指针访问结构体属性 语法: strcut 结构体名 结构体变量={}; struct 结构体名 p = & 结构体变量 cout<定义的结构体数据类型的名称 示例: struct studet //定义一个学生结构体 { string naem; //名字 int age; //年龄 int score; //分数 }; int main() { struct studet stu = { “梨花带鱼”,22,88 }; //创建一个结构体变量 stu 并赋值 struct studet p = &stu; //使用指针指向结构体变量 stu 注意:这里的指针的数据类型必须要和所指向变量的数据类型相同 cout << "名字: " << p->naem << "年龄 : " << p->age << "分数: " << p->score << endl; } 8.5 结构体嵌套结构体 作用:结构体中的成员可以是另一个结构体 语法: struct 结构体名 2 { 数据类型 变量名; } struct 结构体名 1 { 数据类型 变量名; struct 结构体名 2 ; } 8.6 结构体做函数参数 作用:将结构体作为参数翔函数中传递 1.值传递 2.地址传递 8.7 结构体中 const 使用场景 作用:用const 来防止误操作 语法: const 结构体名 参数或指针 8.8联合体类型 语法:union 类型名 { }; 特点:可以共用同一块内存 示例: //联合体类型 union Myunion { int a; long b; }; int main() { Myunion uni; uni.a = 10; printf(“uni.b:%d\n”, uni.b); //特点:可以共用同一块内存 }
|