共用体与枚举类型.ppt
《共用体与枚举类型.ppt》由会员分享,可在线阅读,更多相关《共用体与枚举类型.ppt(18页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第十章第十章 共同体与枚举类型共同体与枚举类型北京邮电大学出版社北京邮电大学出版社内容提要共同体类型与共同体变量共同体变量的引用位运算与位段结构枚举类型类型定义C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计上一页上一页下一页下一页共同体类型的定义一般形式union 共同体类型名 成员说明列表 ;例如 union data int I;char ch;float f;C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计上一页上一页下一页下一页共同体类型变量
2、的定义(1)先定义共同体类型,再定义共同体类型变量 union data char ch;float f;union data a,b,c;C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计上一页上一页下一页下一页共同体类型变量的定义(2)在定义共用体类型的同时定义共用体类型变量 union data int i;char ch;float f;a,b,c;C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计上一页上一页下一页下一页共同体类型变量的定义(3)
3、定义共用体类型时,省略共用体类型名,同时定义共用体类型变量 union int i;char ch;float f;a,b,c C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计上一页上一页下一页下一页共用体变量的引用 在定义共用体变量之后,就可以引用该共用体变量的某个成员 a.i,a.ch,a.f注:一个共用体变量不是同时存放多个成员的值,而只能存放其中的一个值 通过指针变量引用共用体变量中的成员 union data*pt,x;pt=&x;pt-i=278;pt-ch=D;pt-f=5.78;应用举例C C语言程序设计语
4、言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计上一页上一页下一页下一页位运算(1)数的补码表示用补码表示数时,正数的补码是它本身。负数的补码是最高位(用来表示符号,0表示正数,1表示负数,称为符号位)为1,其余各位(数值位)先按位取反(即0变为1,1变为0),再在最低位加1。由补码求真值(即实际二进制数)时,若符号位为0,则补码就是真值。若符号为1,则真值为负数,真值的数值位为补码的数值位各位按位取反后再在最低位加1(若进位位超出数值位的位数,则丢弃)。C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设
5、计C C语言程序设计语言程序设计上一页上一页下一页下一页位运算(2)a 2左移 3右移flag&0 x37按位与&(关系运算符)(低)flag|0 x5A按位或|(高)flag按位取反(算术运算符)举例(赋值运算符)优先级名称运算符C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计上一页上一页下一页下一页位段结构位段结构中位段的定义格式为:unsigned 成员名:二进制位数 struct bytedata unsigned a:2;/*位段a,占两位*/unsigned:6;/*无名位段,占6位,但不能访问*/unsign
6、ed:0;/*无名位段,占0位,表示下一位段 从下一字边界开始*/unsigned b:10;/*位段b,占10位*/int i;/*成员i,从下一字边界开始*/data;data变量的内存分配示意图 C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计上一页上一页下一页下一页位段结构注意事项一个位段必须存储在同一存储单元(即字)之中,不能跨两个单元。如果其单元空间不够,则剩余空间不用,从下一个单元起存放该位段。可以通过定义长度为0的位段的方式使下一位段从下一存储单元开始。可以定义无名位段。位段的长度不能大于存储单元的长度。位
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 共用 枚举 类型
限制150内