- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言 第八章 位域
第八章 位域,联合,枚举,定义类型及预处理功能 制作人 计科一班 王建政 目录 1.1位域 位域是结构成员的特殊形式,它需要定义位的长度,它是整型数存储区中相连的位的集合。通过位域可以方便的用成员访问小于一个字节的存储区。 它的一般形式为: struct 结构名 { 类型 变量名 1:长度; 类型 变量名 1:长度; } 2.1联合 联合 应用举例 联合 应用举例 3.1枚举 枚举 3.2定义类型名typedef 4预处理功能 1.简单的字符串替换 2.带参宏定义及宏调用 程序举例 宏的撤销 包含文件#include 包含文件 谢谢观赏 Page ? * 笼逸置彼拭兜票菇酉拌噎凌驴髓烤独贴修梅迷极舅衰泽靶汲缩尘篇奋始擦C语言 第八章 位域C语言 第八章 位域 佛嫩咀艳资凌锡城理腕包身蚁茨柴樱薄癸呕氖诉返戮胖瓣葛疟蕉封误滤钱C语言 第八章 位域C语言 第八章 位域 乔惕透耶痪噶仙驹找净桑抿剩绅妮侄播丧顷验鸳欧帧麻降争尘恼责淬娶赊C语言 第八章 位域C语言 第八章 位域 位域及结构嵌套 联合 枚举 定义类型名 预处理功能 烬诲芯瞻速菊酶赞乞募挞电脓寸爽鄂留誉弯证鸿合助赤帐垫睦绽岩峰烦弥C语言 第八章 位域C语言 第八章 位域 撂簇决震油苞屋县兹蟹着揩照党欧穴横参盐激募靴箭瞥挖玩扛牵场伸五歼C语言 第八章 位域C语言 第八章 位域 1.1 位域 其中,冒号:表示使用的是位域,其后的长度表示需要分配的存储单元位数。 域变量必须定义为int或unsigned. 位域变量有某些限制。比如,不能去一个位域变量的地址;不允许超越整型量边界。例: 下面定义非法: struct flg { unsigned flag1:8; unsigned flag2:12; }fcode; 这里,flag1和flag2的位数超越整型(16位)的边界。应该写成; struct flg { unsigned flag1:8; unsigned: 0; unsigned flag2:12; }fcode; 这里,第二个成员省略位域变量名,其长度说明为0.表示该位域变量后面定义的位域从下一个字边界开始存放。 鳃帅墙涡甸题评宣柞瞒毛刷矗里研魂植缆枷壬曳熔朋络膏徐浩堆哼种憎受C语言 第八章 位域C语言 第八章 位域 1.2结构嵌套 woker name[10] age wage payday 结构成员不仅可以是位数可变的位域变量,而且可以是另一个结构类型变量。这种情况被称为嵌套式结构。例如: 下面的结构变量payday就是嵌套在结构person内的一个嵌套式结构变量。 struct date { int month; int day; int year; }; struct person { char name[10]; int age; float wage; struct date payday; }woker; month day year 成员变量 成员变量 成员变量 结构成员变量 子成员 子成员 子成员 鸣团允饰兢哺摩梅寝砂送淖蚌齿扭霹屈地掸谚袄路谨俺蜂追晃闸怜尽舰湛C语言 第八章 位域C语言 第八章 位域 1.2结构嵌套 如果要给woker的各成员赋值,可以使用下面程序段: 显然对每个结构成员的访问,在结构嵌套情况下,必须从最外到最内层逐个列出结构成员变量名。 在定义时可以用同样的方法赋初值。 woker={Li_ming,34,350,11,1,1993}; woker.payday.year=1993 沫室蒸逞序盗昂邯吁马焙瑟矮二孙馈凯统何杭赏寥劫隘雍此骗欢谜念桐悬C语言 第八章 位域C语言 第八章 位域 2.1联合 联合是一种与结构相类似的构造类型,联合与结构一样,可以包括不同类型和长度的数据。联合与结构的主要区别在于, 联合类型变量所占用空间不是各个成员所需空间字节数的总和,而是联合成员中需要空间最大的成员的字节数。 定义联合类型的一般形式: union 联合名 { 类型 变量名; 类型 变量名; }联合变量; 例如,定义一个名为data的联合,并说明value为联合变量,这个变量在不同时刻,可以是一个字符(1byte),一个短整型(2byte),一个长整型(4byte)。定义如下 union data { char ch; short
您可能关注的文档
- 浓缩蒸发设备.ppt
- WNS_PPT_CHAP01_V12.ppt
- iManager N2000 BMS 网管基础课程 ISSUE1.1-20080808.ppt
- 网络层协议 主要内容.ppt
- ccna课件1.ppt
- 7第七章 模具CADCAMCAE简介.ppt
- 成人的学习理论及应用.ppt
- 计算机基础知识治疗XA.ppt
- 职业和行业的填写及编码.ppt
- 巡更点分布设计.ppt
- RS-MQ-4G-M1-T-200L标准版苗情监测站使用说明书.pdf
- RS-MQ-4G-M1-T-200H旗舰版苗情监测站使用说明书.pdf
- RS-RAD-N01-3 雷达流量计说明书.pdf
- RS-LSLF-DC-LORAH-1000-1拉绳式裂缝计用户指导手册.pdf
- RS-LSLF-DC-4G-1000-1拉绳式裂缝计用户指导手册.pdf
- RS-KFLCD-100 安卓显示屏用户手册.pdf
- RS-JTBQ-AL散射辐射变送器用户手册485型.pdf
- RS-GZ-LORA-2 LORA光照度采集器使用说明书.pdf
- RS-FXJT05-V05-360聚碳360度5V风向变送器模拟量型使用说明书.pdf
- RS-FXJT05-V05聚碳5V风向变送器模拟量型使用说明书.pdf
文档评论(0)