二.
声明枚举类型用enum开头。
例如:
enum Weekday/*(枚举类型)*/{sun,mon,tue,wed,thu,fri,sat}/*枚举元素*/;
声明了一个枚举类型enum Weekday,然后可以用此类型来定义变量。
enum Weekday workday,weekend/*枚举变量*/;
三.
enum Weekday{sun,mon,tue,wed,thu,fri,sat};
enum Weekday workday,weekend;
workday=mon; 正确
weekend=sun; 正确
weekday=monday; 不正确( weekday不是变量 )
说明:
(1) C编译系统对枚举类型的枚举元素按常量处理,故称枚举常量。不要因为它们是标识符(有名字)而把它们看作变量,不能对它们赋值。
例如:
sun=0; mon=1; 错误
(2) 每一个枚举元素都代表一个整数,C语言编译按定义时的顺序默认它们的值为0,1,2,3,4,5…在上面定义中,sun的值为0,mon的值为1,…sat的值为6
workday=mon; 等效于 workday=1;
每一个枚举元素都代表一个整数,C语言编译按定义时的顺序默认它们的值为0,1,2,3,4,5…也可以人为地指定枚举元素的数值,例如:
enum Weekday{sun=7,mon=1,tue,wed,thu,fri,sat}workday,week_end; 指定枚举常量sun的值为7,mon为1,以后顺序加1,sat为6,tue肯定就为2。
(3) 枚举元素可以用来作判断比较。例如:
if(workday==mon)…
if(workday>sun)…
枚举元素的比较规则是按其在初始化时指定的整数来进行比较的。