C++程序设计(第3版)第6章 结构体和共用体
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6.1.2 结构体变量的定义与初始化
1.先定义结构体类型,再定义结构体变量 例如: struct student { char num[10]; //学号 char name[10]; //姓名 char sex; //性别 float score; //成绩 }; struct student stu1,stu2;
return
6.1.3 结构体变量的引用
结构体变量是作为一个整体被定义的,但一般不能作为一 个整体进行访问,只能通过结构体变量的成员来访问它。 引用结构体变量的语法格式: 结构体变量.成员名 说明:符号“.”是成员运算符,用于访问一个结构体变量 中的某个成员。 对结构体中的成员可以像一般变量一样进行各种运算。 例如:struct student stu1; stu1.sex='m'; 若结构体成员本身又是一个结构体类型,则要通过若干个 成员运算符“.”,访问到最低一级的成员。
【例6.1】定义结构体类型employee,包括工号、姓名、工资3个成员,定义两个该 类型的变量,并对其中一个员工信息进行初始化,输入另一个员工的信息,最后 输出这两个员工的信息。 #include<iostream> 运行结果: 输入“1002”“王芳”“5000” using namespace std; 1001 李明 2800 struct employee 1002 王芳 5000 { char num[10]; char name[10]; double salary; }; struct employee emp1={"1001","李明",2800},emp2; int main() { cin>>emp2.num>>>>emp2.salary; cout<<emp1.num<<'\t'<<<<'\t'<<emp1.salary<<endl; cout<<emp2.num<<'\t'<<<<'\t'<<emp2.salary<<endl; return 0; return }
6.1.2 结构体变量的定义与初始化
2.在定义结构体类型的同时,定义结构体变量 例如: struct student { char num[10]; char name[10]; char sex; float score; } stu1,stu2;
//学号 //姓名 //性别 //成绩
6.1.2 结构体变量的定义与初始化
6.1.4 结构体数组与应用
2.结构体数组的初始化 初始化形式: [struct] 结构体名 结构体数组名[常量表达式]={初值}; 说明: 结构体数组的初始化数据放在大括号内,将其成员的值依 次放在一对花括号中,方便区分各元素。 每个数组元素初值的个数、顺序和类型必须与其对应的结 构体成员一致。 例如:
6.1.2 结构体变量的定义与初始化
结构体变量的初始化 语法格式: [struct] 结构体类型 结构体变量名={初值1,初值2, …}; 说明: 初值的个数、顺序和数据类型均应与定义结构体时成员 的个数、顺序和数据类型保持一致。 例如: struct student stu1={"B155A101","zhang fan",'m',92};
//学号 //姓名 //性别 //成绩
return
6.1.2 结构体变量的定义与初始化
定义结构体类型后,仅仅是定义了该结构体的构成情况, 系统并不为其分配实际的存储单元,为了使用它,必须定 义结构体变量。 已定义的结构体变量所分配的存储空间的大小等于结构体 中各成员所占存储空间的总和。 定义结构体变量3种形式: 1.先定义结构体类型,再定义结构体变量 2.在定义结构体类型的同时,定义结构体变量 3.直接定义结构体变量
第6章 结构体和共用体
6.1 结构体 6.2 共用体 6.3 案例实战
over
6.1 结构体
6.1.1 6.1.2 6.1.3 6.1.4 结构体的定义 结构体变量的定义与初始化 结构体变量的引用 结构体数组与应用
return
6.1.1 结构体的定义
C++语言提供了一种机制,让用户可以自己定义复杂的数 据类型。 构造数据类型:由基本数据类型按照某种规则构成的数据 类型,它们的元素或成员的数据类型仍然是基本数据类型。 数组、结构体和共用体都是构造数据类型。 数组的元素属于同一种数据类型,而结构体和共用体中的 成员可以属于不同的数据类型。
6.1.4 结构体数组与应用
结构体数组:数组中的每个元素都是一个结构体变量,每 个数组元素都有自己的成员。 1.结构体数组的定义 与定义结构体变量一样,可采用直接定义、间接定义和无 名定义三种方式。 与基本数据类型的数组一样,结构体数组名代表结构体数 组中第一个元素在内存中的首地址,数组各元素在内存中 按规则连续存放。 结构体数组每个元素代表一个结构体变量,引用结构体数 组元素中的某一成员时,同样使用成员运算符“.”进行 操作。
6.1.1ቤተ መጻሕፍቲ ባይዱ结构体的定义
结构体定义形式: struct 结构体类型名 { 数据类型 成员1; 数据类型 成员2; …… 数据类型 成员n; }; 例如: struct student { char num[10]; char name[10]; char sex; float score; };
6.1.4 结构体数组与应用
2.结构体数组的初始化 例如:
struct student { char num[10]; char name[10]; char sex; float score; }stu[2]={{ "B155A101","zhang fan",'m',92},{"B155A102","liu xia",'f',95}};
3.直接定义结构体变量 例如: struct { char num[10]; //学号 char name[10]; //姓名 char sex; //性别 float score; //成绩 } stu1,stu2; 注意:由于省略了结构体类型名,因此以后不能再用这种 结构体类型定义其他结构体变量。