C语言程序设计 第五章复杂构造数据类型 济南大学
C语言程序设计 第五章 复杂构造数据类型 —————————————————————————— —————————— 济南大学
第五章复杂构造数据类 >51结构体 >52共用体 >53枚举类型 >5.4链表
第五章 复杂构造数据类型 ➢ 5.1 结构体 ➢ 5.2 共用体 ➢ 5.3 枚举类型 ➢ 5.4 链表
51结构体 在解决实际问题时,有时需要将多个不同类型的数据组合在 起表达一个整体的信息。 例如:描述一个学生的完整信息时,有学号、姓名、年龄、成 绩、家庭地址等项。 nuln name sex age score addr 5001 Li Ming M 1996.5 Beijing int num: char name 20] C语言提供了这种数据结构:允许用户将不 char sex: 同类型的数据组合成一个有机的整体,这些数据 int age. 互相联系;这种数据结构称为结构体( structure float score: char addr 30; 心U
5.1 结构体 在解决实际问题时,有时需要将多个不同类型的数据组合在一 起表达一个整体的信息。 例如:描述一个学生的完整信息时,有学号、姓名、年龄、成 绩、家庭地址等项。 num name sex age score addr 5001 Li Ming M 19 96.5 Beijing int num; char name[20]; char sex; int age; float score; char addr[30]; C语言提供了这种数据结构:允许用户将不 同类型的数据组合成一个有机的整体,这些数据 互相联系;这种数据结构称为结构体(structure)
结构体类型在使用之前应先定义,然后再定义该类型变量, 才能使用。 定义一个结构体类型的一般形式: struct student struct结构体名 int num: 类型标识符1成员名1; char name20i 类型标识符2成员名2;成员表列 char sex; (域表)‖ int age; ●·● float score: 类型标识符n成员名n; char addr 30e
结构体类型在使用之前应先定义,然后再定义该类型变量, 才能使用。 定义一个结构体类型的一般形式: struct 结构体名 { 类型标识符1 成员名1; 类型标识符2 成员名2; …… …… 类型标识符n 成员名n; }; 成员表列 (域表) struct student { int num; char name[20]; char sex; int age; float score; char addr[30]; };
1定义结构体类型变量的方法 1、先定义结构体类型再定义结构体变量 struct student int num; struct student stu 1, stu2. char name 20: num 2B float score: 结构体类型名变量列表 name 20B stul score 4B 在定义了结构体变量后,系统会为之分配mum.2B 内存单元 name 20B 5stu2 sizeof(stul)=2+ 20+4=26 score 4B C
1 定义结构体类型变量的方法 1、先定义结构体类型再定义结构体变量 struct student { int num; char name[20]; float score; }; struct student stu1,stu2; 结构体类型名 变量列表 在定义了结构体变量后,系统会为之分配 内存单元。 sizeof(stu1)= 2 + 20 + 4 = 26 num 2B name 20B score 4B num 2B name 20B score 4B stu1 stu2