第11章 结构体和共用体
第11章结构体和共用体 本章内容 概述 2.定义结构体类型变量的方法 3.结构体变量的引用 4.结构体变量的引用和初始化 5.结构体数组 6.指向结构体类型数据的指钍 7.用指针处理链表 8.共用体 9.枚举类型 10.用 typedef定义类型
-2- 第11章 结构体和共用体 本 章 内 容 1. 概述 2. 定义结构体类型变量的方法 3. 结构体变量的引用 4. 结构体变量的引用和初始化 5. 结构体数组 6. 指向结构体类型数据的指针 7. 用指针处理链表 8. 共用体 9. 枚举类型 10.用typedef定义类型
第11章结构体和共用体 11.1概述 定义 令个组合项中包含若干个类型不同(或相同)的数据项,这样的数据 例如: num name sex age addr struct student int num char name [20] char sex int age char addr [30] 声明结构体类型的一般形式 struct结构体名 [成员表列 成员表列”称为"域表"。 冷每个成员称为结构体中的一个域,对各成员(域)的定义形式如下: 类型名成员名;
-3- 第11章 结构体和共用体 11.1 概述 定义 v 一个组合项中包含若干个类型不同(或相同)的数据项,这样的数据 结构称为结构体。 例如: num name sex age addr struct student { int num; char name[20]; char sex; int age; char addr[30]; }; 声明结构体类型的一般形式 struct 结构体名 {成员表列}; v "成员表列"称为"域表" 。 v 每个成员称为结构体中的一个域,对各成员(域)的定义形式如下: 类型名 成员名;
第11章结构体和共用体 11.2定义结构体类型变量的方法 三种方法: ◆先声明结构体类型,再定义变量名。 ◆在定义类型的同时定义变量。 ☆直接定义结构类型变量。 ◆方法一:假设有如下定义: struct student int num: char name [20] char sex: int age; float score; char addr [30] struct student stud1, stud2;
-4- 第11章 结构体和共用体 11.2 定义结构体类型变量的方法 三种方法: v 先声明结构体类型,再定义变量名。 v 在定义类型的同时定义变量。 v 直接定义结构类型变量。 v 方法一:假设有如下定义: struct student { int num; char name[20]; char sex; int age; float score; char addr[30]; }; struct student stud1, stud2;
第11章结构体和共用体 11.2定义结构体类型变量的方法 ◆方法二 struct结构体名 成员表列 }变量名表列; ◆方法三 struct 成员表列 }变量名表列; 对结构体类型的几点说明 类型与变量是不同的概念。在编译时,对类型是不分配空间的, 只对变量分配空间。 令结构体中的成员可以单独引用。 ◆成员也可以是一个结构体变量。(P283) 令成员名可以与程序中的变量名相同
-5- 第11章 结构体和共用体 11.2 定义结构体类型变量的方法 v 方法二: struct 结构体名 { 成员表列 }变量名表列; v 方法三: struct { 成员表列 } 变量名表列; 对结构体类型的几点说明 v 类型与变量是不同的概念。在编译时,对类型是不分配空间的, 只对变量分配空间。 v 结构体中的成员可以单独引用。 v 成员也可以是一个结构体变量。(P283) v 成员名可以与程序中的变量名相同