第7章结构体与链表.ppt
《第7章结构体与链表.ppt》由会员分享,可在线阅读,更多相关《第7章结构体与链表.ppt(33页珍藏版)》请在三一办公上搜索。
1、,C+程序设计,计算机基础课教研室李志芳,1,主要内容,第1章 C/C+概述 第2章 基本数据类型与表达式第3章 控制结构第4章 数组与字符串第5章 函数第6章 指针,第7章 结构体与链表 第8章 类和对象第9章 继承与多态第10章 模板与异常处理第11章 标准库与输入输出流第12章 程序设计与软件开发技术,2,第7章 结构体与链表,学习目标熟练掌握结构体的定义,以及结构体变量的初始化和使用。了解共用体和枚举类型的定义及使用。了解链表的概念、定义及基本操作。了解编译预处理功能及使用。,3,7.1 结构体7.2 共用体7.3 枚举类型7.4 链表7.5 编译预处理,第7章 结构体与链表,4,7.
2、1 结构体,在处理大量数据时,使用数组是很方便的。但是,由于数组是由同一类型的数据组成的,这就带来很大的局限性。例如,不能利用普通数组存放一个班同学的全部资料,包括姓名、年龄、性别等信息。C/C+提供自定义的结构体类型来解决这个问题。,5,1.结构体类型的定义,一般形式:struct 结构体类型名 成员项列表;,该定义仅规定了结构体类型的内存分配模式,只有初始化结构体的变量后才真正的开辟内存空间。,6,2.结构体变量的说明和初始化,结构体变量的说明:一般形式:在定义了结构体类型后,用已定义的结构体类型名定义变量。,或者,7,2.结构体变量的初始化,结构体变量的初始化:struct person
3、 stu1=“张三”,19,M;,可以用sizeof运算符测试结构体类型数据占据的字节数。例:sizeof(struct person)或sizeof(stu1)注:结构体变量的长度等于其所有成员长度之和。,int a,b=12;,8,3.结构体变量的使用,结构体变量的成员变量的引用:.,9,结构体类型,两个相同类型的结构体变量之间可以互相赋值。但是和数组一样,不能将结构体变量作为一个整体输入/输出,只能以结构体的成员作为基本变量,一次输入或输出结构变量中的一个成员。实际上,在C+中的结构体和类一样,可以包含成员函数等,只是默认情况下,结构体类型的成员均为公有。但大多数程序员习惯于使用类似C语
4、言的结构体。,返回章节,10,7.2 共用体,共用体(或称联合体)与结构体类似,存放不同类型的数据,用法也相似。但共用体每个数据成员先后占据同一段存储空间。而在结构体的每一个数据成员都要单独占用存储空间。在有些问题中,不同类型的数据成员并不需要同时出现。因此为了节约内存并便于数据处理,C语言允许在编程时用同一内存段存放不同类型数据成员,这种特殊的数据类型就是共用体。,11,7.2 共用体,例如:union exam int a;double b;char c;x,y;,共用体变量存储结构,例如:sizeof(union exam)或sizeof(x)注:共用体变量的长度等于其最长成员的长度。,
5、12,7.2 共用体,例如:在某校信息管理系统中有以下数据:(1)姓名 name(2)年龄 age(3)职业 job:取值有两种,即student或teacher(4)职位 position:对学生而言,采用年级grand分级,取值1、2、3、4等。对教师而言,采用职称title分级,取值Professor、AssociateProfessor、Lector等。,int型,char型数组,13,7.2 共用体,对于成员变量position可以在编程时用同一内存来存放两种不同类型的成员,但每一瞬间只有一个成员起作用。可以定义为:,union postion int grand;char titl
6、e20;,14,例:学校信息管理,返回章节,15,7.3 枚举类型,如果某个数据项的取值范围仅限于少数几种可能的值,则可以将该数据项定义为枚举类型数据。枚举类型的定义:,enum;,或称枚举常量表,例如:定义“星期”的枚举类型,16,7.3 枚举类型,说明1:每个枚举元素实际上是一个以其所在位置顺序为值的常量。编译器为这些枚举元素取值为0、1、2、3、n-1,故叫枚举常量。,说明3:可以在定义枚举类型同时对枚举常量重新定义值。但枚举元素是常量不能直接赋值。,说明2:枚举值只能是一些标识符,不能是基本类型常量。,此时,white为7、yellow为8。,17,7.3 枚举类型,枚举变量的说明(与
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 结构
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-5653954.html