C语言中枚举类型的用法
如果一个变量只有几种可能的值,则可以定义为枚举(enumeration)类型,所谓枚举就是指把可能的值一一列举出来,变量的值只限于列举出来的值的范围内。
声明枚举类型用enum开头,例如,
enum Weekday {sun, mon, tue, wed, fri, sat};
然后用此类型来定义变量。
enum Weekday workday, weekend;
也可以不声明有名字的枚举类型,而直接定义枚举类型:
enum {sun, mon, tue, wed, thu, fri, sat} workday, weekend;
- c编译对枚举类型的枚举元素按常量处理,故称枚举常量。
不要因为它们是标识符而把它们看成变量,不能对它们赋值。
sun = 0; mon = 1;//错误,不能对枚举元素赋值
2.每一个枚举元素都代表一个整数,C语言编译按定义时的顺序默认它们的值为0,1,2,3,4...。在上面的定义中,sun的值为0,mon的值为1。
如果有赋值workday=mon;相当于workday=1;
枚举常量是可以引用和输出的。
printf("%0d", workday);//将输出整数1
也可以认为地指定枚举元素的数值,在定义枚举类型时显式地指定,例如
enum Weekday{sun=7, mon=1, the, wed, thu, fri, sat} workday, week_end;
指定枚举常量sun的值为7,mon为1,以后数据加1,sat为6。
由于枚举型变量的值是整数,因此C99把枚举类型也作为整数数据中的一种,即用户自行定义的整数类型。
3.枚举元素可以用来作判断比较。
if(workday==mon) ...
if(workday>sun)...
浙公网安备 33010602011771号