C语言程序设计 清华大学郑莉安颖莲 第八讲结构与联合 参考书:《C程序设计》第十章 §10.1-§10.6,§10.8
C语言程序设计 清华大学 郑莉 安颖莲 Page 1 第八讲 结构与联合 参考书:《C程序设计》第十章 §10.1-§10.6,§10.8
C语言程序设计 清华大学郑莉安颖莲 本讲主要内容 结构的定义 结构变量说刂 结构体的使用和初始化 结构数组 结构指针 结构体在函数间的传滟 结构傲賽 联合体(共用体)
C语言程序设计 清华大学 郑莉 安颖莲 Page 2 本讲主要内容 • 结构的定义 • 结构变量说明 • 结构体的使用和初始化 • 结构数组 • 结构指针 • 结构体在函数间的传递 • 结构嵌套 • 联合体(共用体)
C语言程序设计 清华大学郑莉安颖莲 结构的定义 结构的概念 是C语言中的构造类型,是由不同数据类型的数据 组成的集合体。 为处理复杂的数据结构提供了手段。 为函数间传递不同类型的参数提供了便利。 定义结构类型 struct结构名 数据类型成员名1; 数据类型成员名2; 数据类型成员名
C语言程序设计 清华大学 郑莉 安颖莲 Page 3 结构的定义 • 结构的概念 - 是C语言中的构造类型,是由不同数据类型的数据 组成的集合体。 - 为处理复杂的数据结构提供了手段。 - 为函数间传递不同类型的参数提供了便利。 • 定义结构类型 struct 结构名 { 数据类型 成员名 1; 数据类型 成员名 2; : 数据类型 成员名 n; };
C语言程序设计 清华大学郑莉安颖莲 结构变量说明 变量说明形式 struct结构名结构变量名; 注意: 结构变量的存储类型概念、它的寿命、可见性及使用范围与 普通变量、数组等完全一致 结构变量说明必须在结构类型定义之后,二者也可同时进行。 结构变量占内存大小可用 sizeof运算求出: sizeof(运算量) 例1
C语言程序设计 清华大学 郑莉 安颖莲 Page 4 结构变量说明 • 变量说明形式 struct 结构名 结构变量名; • 注意: -结构变量的存储类型概念、它的寿命、可见性及使用范围与 普通变量、数组等完全一致。 -结构变量说明必须在结构类型定义之后,二者也可同时进行。 -结构变量占内存大小可用 sizeof 运算求出: sizeof(运算量) 例 1
C语言程序设计 清华大学郑莉安颖莲 结构体的使用和初始化 使用形式 一般情况下不能把结构体作为一个整体参加数据处 理 结构体成员的引用形式:结构变量名.成员名 ′运算优先于″*"运算: zhao.name等同于*(zhao.name) 初始化 仅限于外部的和 static型结构体 例2
C语言程序设计 清华大学 郑莉 安颖莲 Page 9 结构体的使用和初始化 • 使用形式 - 一般情况下不能把结构体作为一个整体参加数据处 理。 - 结构体成员的引用形式:结构变量名.成员名 - "."运算优先于"*"运算: *zhao.name 等同于 *(zhao.name) • 初始化 - 仅限于外部的和static型结构体 例 2