刚刚接触枚举变量的人,多多少少都会有一些,使用方面的不足,我们在这里说一说!
其中,sum,mon,…,sat 等称为枚举元素或枚举常量,它们是用户定义的标识符。
需要强调以下几点:
① 枚举元素不是变量,而是常量,因此枚举元素又称为枚举常量。因为是常量,所以不能对枚举元素进行赋值;学习交流Q:2848988085
② 枚举元素作为常量,它们是有值的,C 语言在编译时按定义的顺序使它们的值为,1,2,…。
如果在定义枚举类型时指定元素的值,也可以改变枚举元素的值。例如:
enum weekday{sun=7,mon=1,tue,wed,thu,fri,sat}day;
这时,sun 为 7,mon 为 1,以后元素顺次加 1,所以 sat 就是 6 了;
③枚举值的比较规则是:按其在说明时的顺序号比较,如果说明时没有人为指定,则第一个枚举元素的值认作 0,后面依次加1;学习交流Q:2848988085
④ 一个整数不能直接赋给一个枚举变量,必须强制进行类型转换才能赋值。例如: day=(enum weekday)2; 这个赋值的意思是,将顺序号为 2 的枚举元素赋给 day,相当于workday=tue;
使用枚举变量的时候,如果不赋处置,默认文0,如果你前面的成员已经赋初值,那就在原有基础上加1。 |