共同体与枚举类型课件.ppt

共同体与枚举类型课件.ppt

ID:56994379

大小:374.50 KB

页数:25页

时间:2020-07-26

共同体与枚举类型课件.ppt_第1页
共同体与枚举类型课件.ppt_第2页
共同体与枚举类型课件.ppt_第3页
共同体与枚举类型课件.ppt_第4页
共同体与枚举类型课件.ppt_第5页
资源描述:

《共同体与枚举类型课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、10.1共用体类型与共用体变量10.2共用体变量的引用10.3共用体变量的应用10.4位运算与位段结构10.5枚举类型10.6类型定义第十章共同体与枚举类型蠢够灌兆烛彰挨韭粳艾问速详耗芯右溺渡侯诲僳咎纫程物祝粟赤邵盟涝无第10章共同体与枚举类型第10章共同体与枚举类型10.1共用体类型与共用体变量在某些特殊应用中,有时需要将几种不同类型的变量存放到同一段内存单元中,即多个数据值覆盖存储,但在任意时刻只能存储其中的一种数据,而不能同时存放多种数据。这种使几个不同的变量共同占用一段内存单元的结构,称为“共用体”类型的结构。共用体也是由用户定义的数据类型。1.共用体类型的定

2、义共用体类型定义用关键字union标识,一般形式为:union标识符{成员说明列表};禾艾颜宠萝垮护垛搞涂似岔喷贫生骏高烟叼忆旬捅痰阅交氯边恬看仟膀敌第10章共同体与枚举类型第10章共同体与枚举类型例如,定义一个共用体类型uniondata,包含一个整型成员,一个字符型成员和一个单精度实型成员:uniondata {  inti;  charch;  floatf; };注意区分:“共用体”类型:各成员占相同的起始地址,在内存中所占字节数等于最长的成员在内存中所占的字节数。“结构体”类型:各成员占不同的地址,在内存中所占字节数等于全部成员在内存中所占的字节数之和。

3、沽内封颇选迷属唇驯勇名霸政谗洪厅岸章碳忿台牵繁沸郴诡族盎贱蚀赊处第10章共同体与枚举类型第10章共同体与枚举类型2.共用体变量的定义,三种形式:例如:uniondata{inti;charch;floatf;};uniondataa,b,c;uniondata{inti;charch;floatf;}a,b,c;union{inti;charch;floatf;}a,b,c;谎派昼钦状是尽鹃险悬捧锥篙辫三哎钟瓦砷屏蒜谚促跃酋括询排偶附田铡第10章共同体与枚举类型第10章共同体与枚举类型10.2共用体变量的引用共用体变量不能直接使用,只能使用里面的某个成员,其成员同样通

4、过点运算描述。形式为:共用体变量名.成员名uniondata{inti;charch;floatf;}a;例如:左边定义的共用体类型的变量a,a占有4个字节的内存空间,a.i表示其整型成员,a.ch表示其字符型成员,a.f表示其单精度型成员。但在同一时刻只有一个成员有效。纲溜恒耽巴伙驳篡湾蜂弃疙卓道聘神晤蒲锭斌纹裁意骄蹲讫实粮寇痒庆妈第10章共同体与枚举类型第10章共同体与枚举类型说明:(1)共用体变量中,可以包含若干个成员及若干种类型,但共用体成员不能同时使用。在每一时刻,只有一个成员起作用,不能同时引用多个成员。(2)共用体变量中起作用的成员值是最后一次存

5、放的成员值,因为共用体变量所有成员共同占用同一段内存单元,后来存放的值将原先存放的值覆盖,故只能使用最后一次给定的成员值。如:若有语句序列a.i=27;a.ch=’D’;a.f=5.78;不能企图通过下面的printf函数得到a.i和a.ch的值:printf(“%d,%c,%f”,a.i,a.ch,a.f);只能得到a.f的值。讶撤授逻私直茵战绊洱兽赣烤囱弓畸站攀醛手傣剂汉空擞娱赏潮赣伊铭猎第10章共同体与枚举类型第10章共同体与枚举类型共用体变量的引用举例main(){e.b=e.a+20;e.x.c=e.a+e.b;e.x.d=e.a*e.b;printf(″%

6、d,%d″,e.x.c,e.x.d);}程序运行结果如下:60,3600uniondata{inta,b;struct{intc;intd;}x;}e={10};陶转消蛹拜易旁哑捍开右墨噎剐窗惋特狭参区努揩剂蝎随栏廖当彬罐棠佛第10章共同体与枚举类型第10章共同体与枚举类型10.3共用体变量的应用uniontask{charcname[10];/*所讲课程*/intnum;/*论文数目*/};例如:设有若干教师的数据,包含有教师编号、姓名、职称,若职称为讲师,则描述他们的所讲课程,若职称为教授,则描述他们所写论文数目。structteachers{intno

7、;/*编号*/charname[12];/*姓名*/charzc;/*职称*/uniontaskx;/*可变字段,为所讲课程或论文数目*/}teach[3];啊拐枷锁蒂诣今滑罩砚挂酵孤供咕嘲描礁鳖钩尹龋瓤衙瑰厉存枷疏践贺祟第10章共同体与枚举类型第10章共同体与枚举类型#defineformat“%d%s%c”main(){inti;for(i=0;i<3;i++){scanf(format,&teach[i].no,teach[i].name,&teach[i].zc);if(teach[i].zc==‘L’)scanf(”%s”,te

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。