《联合枚举类型》PPT课件

《联合枚举类型》PPT课件

ID:45610092

大小:379.34 KB

页数:14页

时间:2019-11-15

《联合枚举类型》PPT课件_第1页
《联合枚举类型》PPT课件_第2页
《联合枚举类型》PPT课件_第3页
《联合枚举类型》PPT课件_第4页
《联合枚举类型》PPT课件_第5页
资源描述:

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

1、第10章联合、枚举、类型说明和位域在C51语言中,除了数组和指针外,还定义了联合和枚举两种聚合数据类型,这是特殊形式的数据类型。下面分别进行讲解。10.1联合类型联合类型,是指将不同的变量组织成一个整体的数据类型。其中的这些变量在内存中占用同一段存储单元,而在不同的时间保存不同的数据类型和不同长度的变量。因此,联合类型也称为共用体。10.1.1联合和联合变量的定义联合的定义与结构十分相似,其形式如下:union联合名{数据类型成员名;数据类型成员名;...};10.1.2联合变量成员的引用联合体变量成员的引用方法与结构体完全相同。例如,对于前面定义的Test,其成员引用为:T

2、est.a、Test.b、Test.c。示例如下:10.2结构和联合的区别结构和联合在很多方面都很相似,但它们之间有本质的区别。结构和联合的区别主要体现在如下几点:对于由多个不同数据类型成员组成的结构变量和联合变量,在任何同一时刻,结构的所有成员都存在,而联合变量中只存放了一个被选中的成员。结构变量的不同成员赋值是互不影响的,而对于联合变量的不同成员赋值,将会对其他成员重写,原来成员的值就不存在了。10.3枚举类型枚举类型主要用于将变量的取值限定在一个有限的范围内的场合。枚举类型在定义中列举出所有可能的取值,被声明为该类型的变量取值不能超过定义的范围。枚举类型是一种基本数据类

3、型,而不是一种构造类型。例如,一个星期内只有七天、一年只有十二个月、一个班每周有六门课程等。如果把这些量说明为整型、字符型或其他类型显然是不妥当的。此时,采用枚举类型则不但可以简洁明了地表示其取值,又节省存储空间。10.3.1枚举的定义在C51语言中,枚举类型定义的一般形式如下:enum枚举名{标识符[=整型常量],标识符[=整型常量],…}枚举变量;其中,enum为关键字,枚举名即所定义的枚举类型,标识符是枚举类型的取值范围,枚举变量是声明为该枚举类型的变量。每个枚举元素后的结束符是“,”,而不是“;”,并且最后一个元素后的结束符可以省略不写。10.3.2枚举变量的声明在C

4、51语言中,枚举变量的声明可以采用3种方式。这里假设有变量a、b、c被声明为上面定义的weekday类型,分别采用3种声明方式如下。10.3.3枚举类型变量的赋值枚举类型在定义时如果没有初始化,即省去“=整型常数”,枚举元素本身由系统定义了一个表示序号的数值,从0开始顺序定义为0,1,2…。如果枚举中的某元素被赋值后,其后成员按依次加1的规则,确定其值。例如:在weekday中,依次Monday值为0,Tuesday值为1,…,Sunday值为6。10.4类型说明类型说明是指由用户自己定义类型说明符,也就是说允许由用户为数据类型取新类型名。类型说明的一般形式如下:typede

5、f原类型名新类型名;其中typedef为类型定义符,原类型名中含有定义部分,新类型名一般用大写表示,以便于区别。例如,有整型变量a、b,其声明如下:inta,b;其中int是整型变量的类型说明符。int的完整写法为integer。为了增加程序的可读性,可把整型声明符用typedef重新定义如下:typedefintINTEGER;10.5位域“位域”是把一个字节中的二进位划分为几个不同的区域,并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。这样就可以把几个不同的对象用一个字节的二进制位来表示。因为有些信息在存储时,只需占几个或一个二进制位,而并不需要占用一

6、个完整的字节。例如在存放一个开关量时,只有0和1两种状态,用一位二进位即可。因此,采用位域可以节省存储空间,并使处理简便。位域数据结构,也常称为“位段”。10.5.1位域的定义和位域变量的声明位域定义与结构定义相似,其一般形式如下:struct位域结构名{类型说明符位域名:位域长度;…};其中,struct为关键字,在位域结构中说明了位域名的类型以及位域的长度。示例如下:structbtest{inta:4;intb:1;intc:3;};10.5.2位域变量的使用位域变量的位域名引用的一般形式如下:位域变量名.位域名位域允许用各种格式输出,也可以使用指针。位域变量在程序中的

7、使用,示例如下:(详细内容请参照本书)10.6小结本章主要介绍了几种特性形式的聚合数据类型,包括联合类型、枚举类型、类型说明以及位域。这些特殊的数据类型是对基本数据类型的有效扩充。灵活运用这些特殊数据类型,可以方便单片机的程序设计。因此,熟练掌握本章内容是单片机程序设计的基础。

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

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

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