谢丽聪-12结构体和共同体-2009.ppt
文本预览下载声明
第十一章 结构体和共用体 11.1 定义一个结构的一般形式 11.2 结构类型变量的说明 11.3 结构变量成员的表示方法 11.4 结构变量的赋值 11.5 结构变量的初始化 11.6 构数组的定义 11.7 结构指针变量的说明和使用 11.8 动态存储分配 11.9 共用体 11.10 枚举类型 11.11 类型定义符typedef 11.12 链表 11.1 ? 定义一个结构的一般形式 在实际问题中,一组数据往往具有不同的数据类型,例如在学生登记表中: 姓名,字符型 学号,整型/字符型 年龄,整型 性别,字符型 成绩,整型/实型 用数组存放这一组数据,但数组中各元素的类型和长度都必须一致,不符合要求。 “结构体”——相当于记录,由若干“成员”组成,每一个成员可以是一个基本数据类型或者又是一个构造类型。它是一种“构造”而成的数据类型,在说明和使用之前必须先定义即构造它。 定义结构: struct 结构名 {成员表列}; 成员表列由若干个成员组成,对每个成员也必须作类型说明: 类型说明符 成员名; 结构定义之后,即可进行变量说明。 例如: struct stu {int num; char name[20]; char sex; float score; }; 11.2?? 结构类型变量的说明 1、先定义结构,再说明结构变量。 如:struct stu {int num; char name[20]; char sex; float score;}; struct stu boy1,boy2; 说明了两个变量boy1和boy2为stu结构类型。说明了boy1,boy2变量为stu类型后,即可向这两个变量中的各个成员赋值。 也可以用宏定义使一个符号常量来表示一个结构类型。 例如:#define STU struct stu STU { int num; char name[20]; char sex; float score; }; STU boy1,boy2; 2、在定义结构类型的同时说明结构变量。 例如:struct stu {int num; char name[20]; char sex; float score;} boy1,boy2; 这种形式的说明的一般形式为: struct 结构名 {成员表列 }变量名表列; 3、直接说明结构变量。 例如:struct {int num; char name[20]; char sex; float score; }boy1,boy2; 这种形式的说明的一般形式为: struct {成员表列 }变量名表列; 成员也可以又是一个结构,即构成了嵌套的结构。 如以下结构定义: struct date { int month; int day; int year; }; struct{int num; char name[20]; char sex; struct date birthday; float score; }boy1,boy2; 11.3? 结构变量成员的表示方法 表示结构变量成员的一般形式是: 结构变量名.成员名 例如: boy1.num boy2.sex 如果成员本身又是一个结构则必须逐级找到最低级的成员才能使用。 例如: boy1.birthday.month 例: struct student { int no ; char name [20
显示全部