第7章枚举类型体.ppt

上传人:本田雅阁 文档编号:2257725 上传时间:2019-03-12 格式:PPT 页数:6 大小:123.51KB
返回 下载 相关 举报
第7章枚举类型体.ppt_第1页
第1页 / 共6页
第7章枚举类型体.ppt_第2页
第2页 / 共6页
第7章枚举类型体.ppt_第3页
第3页 / 共6页
亲,该文档总共6页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《第7章枚举类型体.ppt》由会员分享,可在线阅读,更多相关《第7章枚举类型体.ppt(6页珍藏版)》请在三一文库上搜索。

1、C+程序设计主编王淮亭 第7章 结构体,1,*7.7 枚举,在程序设计中,有时要处理非数值的数据,例如:颜色、星期、性别、职业、课程等,这时一般用一个数值代表一个状态。为了提高程序描述的直观性,引入枚举方法列举一组标识符作为枚举类型值的集合。枚举类型定义的一般形式是:,enum 类型名 标识符1,标识符2,标识符n ; 其中enum是关键字,是枚举类型的引导字。如 enum weekday sun,mon,tue,wed,thu,fri,sat; 定义了一个枚举类型enum weekday,可以用此类型来定义变量。如 enum weekday today,yesterday,tomorrow;

2、 变量today,yesterday,tomorrow被定义为枚举变量,它们的值只能是sun到sat之一。,C+程序设计主编王淮亭 第7章 结构体,2,用什么标识符代表什么含义,完全由编程者自己选择,以易于理解为宜,这里应该注意以下几个问题: 1) 在C+编译中,对枚举元素按常量处理,故称枚举常量。它们不是变量,不能对它们赋值。 2)枚举元素作为常量,它们是有值的,C+语言编译按定义时的顺序使它们的值为0、1、2、 3)枚举值可以用来作判断比较。 4)一个整数不能直接赋给一个枚举变量。 5)应该注意枚举类型名、 枚举变量与枚举常量的区别。,C+程序设计主编王淮亭 第7章 结构体,3,7.8 用

3、typedef定义类型,在使用标准类型名定义变量时,可只写标准类型名指明变量的数据类型。而用前面介绍的结构体、共用体、枚举类型定义或说明变量时,要冠以表明数据类型类别的关键字,如struct、union、enum等。但C+语言提供用定义新类型命名的机制,对于结构体、共用体或枚举类型,可以使用typedef为它们定义新类型名,从而使说明变量时不必要再冠以类型类别关键字。,C+程序设计主编王淮亭 第7章 结构体,4,例如: 1)typedef struct int no; char name16; float score; student; /定义结构体类型student 2)typedef ch

4、ar MNAME20;/说明了最多能赋20字符的字符数组类型MNAME 3)typedef int INTARRAY20; /说明了含20个整数的数组类型INTARRAY 4)typedef enum red,yellow,blue,greenCOLOR; /说明了枚举类型COLOR,C+程序设计主编王淮亭 第7章 结构体,5,经上面定义之后,可定义变量如下: 1)student st1,st2; /定义两个结构体变量 2) MNAME ch1,ch2; /定义两个字符串变量,即字符数组ch1、ch2 3)INTARRAY N1,N2;/定义两个整型数组N1、N2 4)COLOR c1,c2;

5、 /定义两个枚举型变量 在以上变量定义中,对于结构体、枚举等类型,不必再冠以类型类别关键字。特别对于数组类型,当有多个数组的成份类型相同、元素个数也相同,先用typedef定义一个数组类型,然后再定义数组就比较方便了。如类型 定义: typedef float ARR100; ARR x,y,z; 变量x,y,z是一个含有100个浮点型元素的数组,相当于folat x100,y100,z100;,C+程序设计主编王淮亭 第7章 结构体,6,用typedef除定义新的类型时,还可以给已有的类型定义一个别名。如类型定义 typedef int INTEGER; /给int 定义一个别名 INTEG

6、ER typedef float REAL; /给float 定义一个别名REAL 用INTEGER和REAL定义变量 INTEGER n,m; REAL X,Y; 可等价以下定义 int n,m; float x,y; 同样,C+语言可以定义指针等类型: 1)typedef char CHAR10; 2)ypedef CHAR *PCHAR; 3)typedef PCHAR FCHAR(); 4)ypedef FCHAR *PFCHAR; 程序用typedef定义类型,只是为类型命名,或为已有的类型命别名。用typedef定义的类型名来定义变量,与直接写出变量的类型再定义变量,具有完全相同的效果。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1