记录类型版权所有@陈暂保留所有权利陈哲版权所有陈哲保留所有权利
版 权 所 有 © 陈 哲 保 留 所 有 权 利 版权所有© 陈哲 保留所有权利 记录类型 陈哲
>结构体>结构体变量地址和动态结构体>结构体变量地址作为函数参数>结构体数组>结构体数组元素地址>结构体数组元素地址作为函数参数>链表版权所有@陈暂保留所有权利>共用体类型定义typedef版权所有陈哲保留所有权利
版 权 所 有 © 陈 哲 保 留 所 有 权 利 版权所有© 陈哲 保留所有权利 2 ➢结构体 ➢结构体变量地址和动态结构体 ➢结构体变量地址作为函数参数 ➢结构体数组 ➢结构体数组元素地址 ➢结构体数组元素地址作为函数参数 ➢链表 ➢共用体 ➢类型定义typedef
结构体>现实中一个实体可能包含很多数据。例如,一个学生具有学号、姓名、性别、年龄、成绩、家庭地址等数据。如果单独定义这些变量,比较分散、难于维护>可以将这些数据聚合成为一个类型。例如,定义一个学生类型,包括学号、姓版权所有@陈暂保留所有权利名、性别、年龄、成绩、家庭地址等项这样便于集中记录一个学生的信息3
版 权 所 有 © 陈 哲 保 留 所 有 权 利 ➢现实中一个实体可能包含很多数据。例 如,一个学生具有学号、姓名、性别、 年龄、成绩、家庭地址等数据。如果单 独定义这些变量,比较分散、难于维护。 ➢可以将这些数据聚合成为一个类型。例 如,定义一个学生类型,包括学号、姓 名、性别、年龄、成绩、家庭地址等项。 这样便于集中记录一个学生的信息。 结构体 3
>结构体类型定义的语法struct Studentstruct 结构体名【成员表列;int num;char name[20]结构体名是一个标识符。char sex;成员表列包括多个成员变量int age;量名),用分号隔开。float score;>语义:告诉编译器一个新char addr[301:成员变量,该类型的大小版权所有@陈暂保留所有权利变量的大小之和。addrnumnamesexscoreage4
版 权 所 有 © 陈 哲 保 留 所 有 权 利 ➢结构体类型定义的语法: struct 结构体名 { 成员表列 }; ◦结构体名是一个标识符。 ◦成员表列包括多个成员变量定义(类型名和变 量名),用分号隔开。 ➢语义:告诉编译器一个新的类型和它的 成员变量,该类型的大小等于所有成员 变量的大小之和。 4 struct Student { int num; char name[20]; char sex; int age; float score; char addr[30]; }; num name sex age score addr
>结构体变量定义的语法struct 结构体名变量名;>语义:在内存中为变量分配内存空间,大小为结构体类型的大小。>例如:struct Studentstudent1, student2结构体类型名结构体变量名版权所有陈暂保留所有权利student119M90.510001Zhang XinShanghaistudent2F209810002Wang LiBeijing
版 权 所 有 © 陈 哲 保 留 所 有 权 利 ➢结构体变量定义的语法: struct 结构体名 变量名; ➢语义:在内存中为变量分配内存空间, 大小为结构体类型的大小。 ➢例如: struct Student student1, student2; 5 结构体类型名 结构体变量名 10001 Zhang Xin M 19 90.5 Shanghai student1 10002 Wang Li F 20 98 Beijing student2