清华大学出版社:《C语言程序设计》教材电子教案(PPT课件,第三版)第11章_结构体与共用体

清华大学出版社 TSINGHUA UNIVERSITY PRESS 第十一章 结构体与共用体
第十一章

清华大学出版社 TSINGHUA UNIVERSITY PRESS 本章要点 结构体的概念 结构体的定义和引用 结构体数组
⚫ 本章要点 结构体的概念 结构体的定义和引用 结构体数组

清华大学出版社 TSINGHUA UNIVERSITY PRESS 主要内容 11.1概述 11.2定义结构体类型变量的方法 113结构体变量的引用 114结构体变量的初始化 11.5结构体数组 11.6指向结构体类型数据的指针 11.7用指针处理链表 11.8共用体 119枚举类型 11.10用 typedef定义类型
⚫ 主要内容 11.1 概述 11.2 定义结构体类型变量的方法 11.3 结构体变量的引用 11.4 结构体变量的初始化 11.5 结构体数组 11.6指向结构体类型数据的指针 11.7 用指针处理链表 11.8 共用体 11.9 枚举类型 11.10 用typedef定义类型

清华大学出版社 TSINGHUA UNIVERSITY PRESS 11.1概述 ■问题定义: 有时需要将不同类型的数据组合成一个有机 的整体,以便于引用。如 个学生有学号/姓名/性别/年龄/地址等属性 int num; char name[20; char sex; Num name sex age score adar 100101 Li Fun M 1887.5 Beijing 图11-1
11.1 概述 ◼ 问题定义: 有时需要将不同类型的数据组合成一个有机 的整体,以便于引用。如: 一个学生有学号/姓名/性别/年龄/地址等属性 int num; char name[20]; char sex; int age; int char addr[30]; 应当把它们组织成一个组合项,在一个组合 项中包含若干个类型不同(当然也可以相同) 的数据项。 图11-1 100101 Li Fun M 18 87.5 Beijing Num name sex age score addr

清华大学出版社 TSINGHUA UNIVERSITY PRESS 11.1概述 声明一个结构体类型的一般形式为: struct结构体名 结构体名 成员表列} 如: struct student int num; char name 20; char sex int age; float score; char addr301 类型名 成员名
11.1 概述 ◼ 声明一个结构体类型的一般形式为: struct 结构体名 {成员表列}; 如:struct student { int num;char name[20];char sex; int age;float score;char addr[30]; } 结构体名 类型名 成员名

清华大学出版社 TSINGHUA UNIVERSITY PRESS 11.2定义结构体类型变量的方法 ■可以采取以下3种方法定义结构体类型变 (1)先声明结构体类型再定义变量名 例如: struct student student 1, student2; student1 100102 WangLi F 2098 Beijing student2 100101 Zhang XiT M 19 90.5 Shanghai 图11-2
11.2 定义结构体类型变量的方法 ◼ 可以采取以下3种方法定义结构体类型变 量: (1)先声明结构体类型再定义变量名 例如:struct student student1, student2; | | | 结构体类型名 结构体变量名 定义了student1和student2为struct student 类型的变量,即它们具有struct student 类型的结构. 图11-2 student1 100101 ZhangXin M 19 90.5 Shanghai 100102 WangLi F 20 98 Beijing student2

清华大学出版社 TSINGHUA UNIVERSITY PRESS 11.2定义结构体类型变量的方法 在定义了结构体变量后,系统会为之分配内 存单元。 例如: student1和 Student2在内存中各占59个 字节(2+20+1+2+4+30=59)。 注意 将一个变量定义为标准类型(基本数据类型)与 定义为结构体类型不同之处在于后者不仅要求指定 变量为结构体类型,而且要求指定为某一特定的结 构体类型,因为可以定义出许许多多种具体的结构 体类型
11.2 定义结构体类型变量的方法 在定义了结构体变量后,系统会为之分配内 存单元。 例如:student1和student2在内存中各占59个 字节(2+20+1+2+4+30=59)。 注意: 将一个变量定义为标准类型(基本数据类型)与 定义为结构体类型不同之处在于后者不仅要求指定 变量为结构体类型,而且要求指定为某一特定的结 构体类型,因为可以定义出许许多多种具体的结构 体类型

清华大学出版社 TSINGHUA UNIVERSITY PRESS 11.2定义结构体类型变量的方法 (2)在声明类型的同时定义变量 这种形式的定义的一般形式为 struct结构体名 成员表列 }变量名表列
11.2 定义结构体类型变量的方法 (2)在声明类型的同时定义变量 这种形式的定义的一般形式为: struct 结构体名 { 成员表列 }变量名表列;

清华大学出版社 TSINGHUA UNIVERSITY PRESS 11.2定义结构体类型变量的方法 例如: 它的作用与第 struct student 种方法相同,即 定义了两个 truct int num student类型的变 char name [201 量 studentI, char sex student2 Int age float score char addr[301 student1, student2
11.2 定义结构体类型变量的方法 例如: struct student { int num; char name[20]; char sex; int age; float score; char addr[30]; }student1,student2; 它的作用与第一 种方法相同,即 定义了两个struct student 类型的变 量student1, student2

清华大学出版社 TSINGHUA UNIVERSITY PRESS 12定义结构体类型:注意: (3)直接定义结构体类型2)对结构体中的成员( 其一般形式为 即“域”),可以单独 struct 使用,它的作用与地位 相当于普通变量。 成员表列 (3)成员也可以是一个结 }变量名表列;构体变量。 即不出现结构体名 (4)成员名可以与程序 中的变量名相同,二者不 代表同一对象
11.2 定义结构体类型变量的方法 (3) 直接定义结构体类型变量 其一般形式为: struct { 成员表列 }变量名表列; 即不出现结构体名。 注意: (1) 类型与变量是不同 的概念,不要混同。只 能对变量赋值、存取或 运算,而不能对一个类 型赋值、存取或运算。 在编译时,对类型是不 分配空间的,只对变量 分配空间。 注意: (2)对结构体中的成员( 即“域”),可以单独 使用,它的作用与地位 相当于普通变量。 (3)成员也可以是一个结 构体变量。 (4) 成员名可以与程序 中的变量名相同,二者不 代表同一对象
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 清华大学出版社:《C语言程序设计》教材电子教案(PPT课件,第三版)第10章_指针.ppt
- 华中理工大学:《单片机原理与应用》课程电子教案(PPT课件讲稿)目录.ppt
- 华中理工大学:《单片机原理与应用》课程电子教案(PPT课件讲稿)第八章 微型计算机接口技术.ppt
- 华中理工大学:《单片机原理与应用》课程电子教案(PPT课件讲稿)第七章 I/O接口电路.ppt
- 华中理工大学:《单片机原理与应用》课程电子教案(PPT课件讲稿)第六章 输入/输出及中断系统.ppt
- 华中理工大学:《单片机原理与应用》课程电子教案(PPT课件讲稿)第五章 半导体存储器及其应用.ppt
- 华中理工大学:《单片机原理与应用》课程电子教案(PPT课件讲稿)第四章 汇编语言程序设计.ppt
- 华中理工大学:《单片机原理与应用》课程电子教案(PPT课件讲稿)第三章 计算机指令系统.ppt
- 华中理工大学:《单片机原理与应用》课程电子教案(PPT课件讲稿)第二章 微型计算机结构.ppt
- 华中理工大学:《单片机原理与应用》课程电子教案(PPT课件讲稿)第一章 计算机基础知识.ppt
- 西北工业大学:《计算机软件技术及应用基础》课程教学资源(PPT课件讲稿)项目开发过程.ppt
- 西北工业大学:《计算机软件技术及应用基础》课程教学资源(知识讲义)ASP编程.doc
- 西北工业大学:《计算机软件技术及应用基础》课程教学资源(知识讲义)图书馆信息管理系统.doc
- 西北工业大学:《计算机软件技术及应用基础》课程教学资源(知识讲义)ADO对象编程.doc
- 西北工业大学:《计算机软件技术及应用基础》课程教学资源(PPT课件讲稿)软件工程.ppt
- 西北工业大学:《计算机软件技术及应用基础》课程教学资源(PPT课件讲稿)VB数据库编程技术(6.5-6.8).ppt
- 西北工业大学:《计算机软件技术及应用基础》课程教学资源(PPT课件讲稿)VB数据库编程技术(6.1-6.4).ppt
- 西北工业大学:《计算机软件技术及应用基础》课程教学资源(PPT课件讲稿)计算机网络基础.ppt
- 西北工业大学:《计算机软件技术及应用基础》课程教学资源(PPT课件讲稿)数据库基础(结构化查询语言SQL).ppt
- 西北工业大学:《计算机软件技术及应用基础》课程教学资源(PPT课件讲稿)数据库基础(数据库理论).ppt
- 清华大学出版社:《C语言程序设计》教材电子教案(PPT课件,第三版)第12章_位运算.ppt
- 清华大学出版社:《C语言程序设计》教材电子教案(PPT课件,第三版)第13章_文件.ppt
- 清华大学出版社:《C语言程序设计》教材电子教案(PPT课件,第三版)第14章_常见错误和程序调试.ppt
- 清华大学出版社:《C语言程序设计》教材电子教案(PPT课件,第三版)第1章_C语言概述.ppt
- 清华大学出版社:《C语言程序设计》教材电子教案(PPT课件,第三版)第2章_程序的灵魂(算法).ppt
- 清华大学出版社:《C语言程序设计》教材电子教案(PPT课件,第三版)第3章_数据类型、运算符与表达式.ppt
- 清华大学出版社:《C语言程序设计》教材电子教案(PPT课件,第三版)第4章_最简单的c程序设计.ppt
- 清华大学出版社:《C语言程序设计》教材电子教案(PPT课件,第三版)第5章_选择结构程序设计.ppt
- 清华大学出版社:《C语言程序设计》教材电子教案(PPT课件,第三版)第6章_循环控制.ppt
- 清华大学出版社:《C语言程序设计》教材电子教案(PPT课件,第三版)第7章_数组.ppt
- 清华大学出版社:《C语言程序设计》教材电子教案(PPT课件,第三版)第8章_函数.ppt
- 清华大学出版社:《C语言程序设计》教材电子教案(PPT课件,第三版)第9章_预处理命令.ppt
- 东北电力大学:《C语言程序设计》WORD讲义.doc
- 东北电力大学:《C语言程序设计》C语言实验上机指导.doc
- 东北电力大学:《C语言程序设计》课程教学资源(PPT课件)第10章 指针.ppt
- 东北电力大学:《C语言程序设计》课程教学资源(PPT课件)第11章 结构体与共用体.ppt
- 东北电力大学:《C语言程序设计》课程教学资源(PPT课件)第12章 位运算.ppt
- 东北电力大学:《C语言程序设计》课程教学资源(PPT课件)第13章 文件.ppt
- 东北电力大学:《C语言程序设计》课程教学资源(PPT课件)第1章 C语言概述.ppt
- 东北电力大学:《C语言程序设计》课程教学资源(PPT课件)第2章 程序的灵魂-算法.ppt