C语言 针对枚举类型的几点说明
(1)枚举型仅限于取值有限的数据。例如:1周的7天,1年的12个月。
(2)enum是定义枚举型的关键字,定义枚举型必须以enum开头。
(3)定义枚举型中花括号中的标识符称为枚举元素或枚举常量,枚举元素必须是标识符的形式,不能是数字常量或字符常量。枚举元素的名字由程序设计者自行指定,这些名字只是为了提高程序的可读性才指定的一个符号,并没有实际固定的意义,例如days枚举类型中Sunday并不自动就代表“星期天”。也就是说,只要程序设计人员愿意,枚举元素用什么表示都可以。
(4)枚举元素作为常量是有值的:第一个标识符为0,第二个标识符为1……。例如,上例days 枚举类型中:
Sunday=0, Monday=l, ……Friday=5, Saturday=6
所以枚举元素可以进行关系运算,比较规则是序号大者为大!
(5)枚举元素的值也是可以由程序设计人员在设计中指定。例如:
enum color{red=3, yellow=5 ,tgree,rgrey,blue,black};
其他未指定值的,根据前一个的值自动加1,如gree为6, grey为7等。
(6)某一变量一旦被定义为枚举类型,其值只能是枚举类型表中的一个,不可以对它赋其他的常量。例如:
enum color{red=3, yellow ,gree,grey,blue,black};
main()
{
enum color cl;
cl=red;
printf("%d",cl);
}
输出结果为:
3
那么能不能直接将3赋给enum color变量c1呢?
cl=3;
这种用法是错误的。
点击加载更多评论>>