第七章 结构体、共用体和枚举类型
第七章 结构体、共用体和枚举类型
7-1结构体类型概述 ◇结构体的概念 前面我们介绍了基本类型(或称简单类型)的变量(如整 型字符型变量等)也介绍了一种构造类型数据数组 但这些数据类型还很不够,为此C语言提供了一种数据结构 称为结构体( structure)。可以将不同类型的数据组合成一个有 机的整体,且数据是互相联系的。它相当于其它高级语言中 的“记录”,如下表所示,每一项称为结构体的成员或域 num name sex age score addr 10010 Min 18 87.5 Beijing
7-1 结构体类型概述 结构体的概念 前面,我们介绍了基本类型(或称简单类型)的变量(如整型, 实型,字符型变量等),也介绍了一种构造类型数据___数组。 但这些数据类型还很不够,为此,C语言提供了一种数据结构, 称为结构体(structure)。可以将不同类型的数据组合成一个有 机的整体,且数据是互相联系的。它相当于其它高级语言中 的“记录”,如下表所示,每一项称为结构体的成员或域。 num name sex age score addr 10010 Li Min M 18 87.5 Beijing
结构体的定义 ◆一般格式: struct结构体名称 结构体成员列表 结构体 person:表示 用户定义了一种新数 例 结构体名称据类型,用这种类型 的定义的每一个变量 struct person 将在内存中占用的空 I int num 结构体成员间为各成员所占空间 int age 之和,本例为: char sex 2+2+1+8=13Byte char name[8 } 注意 不能少
结构体的定义 一般格式: struct 结构体名称 { 结构体成员列表 }; 例: struct person { int num; int age; char sex; char name[8]; } ; 结构体名称 结构体成员 注意“ ; ”不能少 结构体person:表示 用户定义了一种新数 据类型,用这种类型 的定义的每一个变量 将在内存中占用的空 间为各成员所占空间 之和,本例为: 2+2+1+8=13Byte
7-2结构体类型变量的定义和引用 ◇定义结构体变量的方法 ◇先定义结构体,再定义结构体变量。 例:前面定义了结构体类型: person,可以定义结构 体变量如下: struct person student, worker; 结构体类型标识符」构体变量名 ◇在定义结构体的同时,定义结构体变量。 例: struct person 结构体类型标识符 I int numi char name[8 Student, worker; 结构体变量名
7-2 结构体类型变量的定义和引用 定义结构体变量的方法 先定义结构体,再定义结构体变量。 例:前面定义了结构体类型:person,可以定义结构 体变量如下: struct person student, worker; 在定义结构体的同时,定义结构体变量。 例: struct person { int num; char name[8]; }student, worker; 结构体类型标识符 结构体变量名 结构体变量名 结构体类型标识符
◇直接定义结构体类型变量 例: struct 没有类型名的结构体类型 [int num; char name[8 student, worker i 注意:因以上结构体没有名称,所以不能用 struct men的方法定义结构体量
直接定义结构体类型变量: 例: struct {int num; char name[8]; }student, worker ; 没有类型名的结构体类型 注意:因以上结构体没有名称,所以不能用 struct men; 的方法定义结构体量