第8章 指针、结构体与共用体2.pptx
《第8章 指针、结构体与共用体2.pptx》由会员分享,可在线阅读,更多相关《第8章 指针、结构体与共用体2.pptx(32页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、课程主讲人:第8章 指针、结构体与共用体2C语言程序设计3C语言程序设计(第二版)4第8章 指针、结构体与共用体1本章通过一个简单的案例引入,介绍了指针的基本概念、指针运算、指针与数组等内容。2同时也重点介绍结构体、共用体、枚举等各种复合数据类型的定义及使用方法,介绍了使用typedef重新定义类型名的方法。5第8章 指针、结构体与共用体知识点:指针的概念和使用。指针的运算。指针和数组的关系。结构体的概念、定义和使用。结构体数组和结构体指针。共用体的概念、定义和使用。枚举的概念、定义和使用。使用typedef重新定义类型名。技能点:能熟练掌握Dev-C+集成环境的操作步骤。6第8章 指针、结构
2、体与共用体8.4 共 用 体共用体也是一种能够将不同类型的数据组合在一起的构造类型,但它与结构体不同。共用体中所有成员占用的是同一段存储区域,在同一时刻,只能有一个成员起作用。1共用体类型及变量的定义共用体类型的定义方法与结构体类型的相似,只需将关键字改为union即可。其一般形式为:7第8章 指针、结构体与共用体union 共用体类型名 数据类型成员名1; 数据类型成员名2; 数据类型成员名n;8第8章 指针、结构体与共用体例如:union data int i; char c; float f;共用体变量的定义方式与结构体变量的定义方式相似,也分为3种方式:9第8章 指针、结构体与共用体(
3、1)将共用体类型的定义与共用体变量的定义分开。例如:union data int i; char c2; float f;union data x,y;10第8章 指针、结构体与共用体(2)在定义共用体类型的同时定义共用体变量。例如:union data int i; char c2; float f;x,y;11第8章 指针、结构体与共用体(3)直接定义共用体类型的变量,不给出共用体类型名。例如:union int i; char c2; float f;x,y;共用体变量在内存中所占的字节数等于长度最长的成员所占的字节数。例如,上述共用体变量x、y中3个成员i、c、f的长度分别为2、2、4
4、,成员f的长度最长,所以这两个共用体变量在内存中都是占用4字节的存储空间。12第8章 指针、结构体与共用体2共用体变量的引用和结构体变量相似,共用体变量中的成员也是通过“.”和“-”两种运算符来引用,具体引用方式有以下三种:(1)共用体变量名.成员名。(2)共用体指针变量名-成员名。(3)(*共用体指针变量名).成员名。例如:union data a,*p;p=&a;则对a中i成员的引用可以是:a.i,p - i或(*p).i。13第8章 指针、结构体与共用体例如:union int i; char c2; float f;b;scanf(%d%s%f,&b);程序在编译时不会报错,但运行结果
5、会出错。将“scanf(%d%s%f,&b);”改为“scanf(%d,&b.i);”就对了。14第8章 指针、结构体与共用体共用体在一般的编程中应用较少,在单片机中应用较多。对于PC,经常使用到的一个实例是:现有一张关于学生信息和教师信息的表格如表8-1所示。学生信息包括姓名、编号、性别、职业、分数,教师的信息包括姓名、编号、性别、职业、教学科目。15第8章 指针、结构体与共用体表8-1 学生和教师信息表NameNumSexProfessionScore / CourseLiuMing201fs78.5WuMing311mtEnglishXuMing409ftMathLiuYang582ms
6、96.0f 和 m 分别表示女性和男性,s 表示学生,t 表示教师。可以看出,学生和教师所包含的数据是不同的。现在要求把这些信息放在同一个表格中,并设计程序,输入人员信息然后输出。16第8章 指针、结构体与共用体如果把每个人的信息都看作一个结构体变量的话,那么教师和学生的前4个成员变量是一样的,第5个成员变量可能是score或者course。当第4个成员变量的值是s的时候,第5个成员变量就是score;当第4个成员变量的值是t的时候,第5个成员变量就是course。经过上面的分析,我们可以设计一个包含共用体的结构体。17第8章 指针、结构体与共用体【例8-9】设计一个包含共用体的结构体,完成学
7、生和教师信息表格。程序代码:打开链接18第8章 指针、结构体与共用体8.5 枚 举 类 型有时会遇到这种情况,即一个变量取值的个数是有限的,如人的性别只有男和女两种、一个星期只有7天、一年只有12个月,等等。对于这些类型的数据,C语言可以将其每一个可能的取值依次列举出来,这种方法称为枚举。用这种方法定义的数据类型称为枚举类型。枚举类型的定义形式为:enum 枚举类型名枚举元素取值表;19第8章 指针、结构体与共用体例如:enum weekdayssun,mon,tue,wed,thu,fri,sat;定义好的枚举类型可以用来定义枚举变量,例如:enum weekdays workday;则wo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第8章 指针、结构体与共用体2 指针 结构 共用
限制150内