枚举类型

来源:互联网 发布:大话数据结构是c语言吗 编辑:程序博客网 时间:2024/05/22 07:03


    如果一个变量只有几种可能的值,则可以定义为枚举类型,所谓的枚举就是把可能的值都一一列举出来,变量的值只限于列举出来的值的范围内。

声明枚举类型用enum开头。

例如:enum Weekday{sun,mon,tue,wed,thu,fri,sat};//声明一个枚举类型 enum Weekday

       Enum Weekday workday,weekday;//枚举类型  枚举变量

  /*花括号中的sun,mon......称为 枚举元素或枚举常量。枚举变量和其它数值类型 量不同,它们的值只限于花括号中指定的值之一。

   */

  weekday=mon;//正确 指定的枚举常量之一

  weekday=sun;//正确 同上

  weekday=Monday;//错误 Monday 不是指定的枚举常量之一

1、C编译对枚举类型的枚举元素按常量处理,所以叫做 枚举常量不能因为他们是标识符而把它们看作变量,不能对它们赋值

2、每一个枚举元素都代表一个整数,C语言编译按定义时的顺序默认它们的值为012...

在上面的定义中,sun的值为0mon的值为1如果有赋值语句:workday=mon;相当于workday=1;枚举常量是可以引用和输出的。例如printf("%d",workday);输出结果是1

3、枚举元素可以用来作判断比较。