C语言枚举型复习笔记

来源:互联网 发布:淘宝域名怎么填 编辑:程序博客网 时间:2024/04/30 13:36

枚举类型

1.定义枚举类型

语法格式:enum 【枚举名称】{枚举常量标识符列表}【变量名列表】

例如:

enum WeekDay{sun,mon,tue,wed,thu,fri,sat}a,b,c;    //a,b,c是枚举变量

enum WeekDay today,yestoday;                                //today,yestoday是枚举变量 

enum {Red,Yellow,Blue}clr;                                        //clr是枚举变量

2.枚举数据类型名

在定义枚举类型时,如果缺省【枚举名称】,则无法使用上述枚举类型名来定义变量。

例如:

enum XB {male,female};        //具有枚举名称

enum XB a1,a2,a3;                //可用枚举名称定义变量

3.枚举常量

枚举常量是在【枚举名称】后{}中的内容。

1)具有从0开始的序号。例如上面enum WeekDay中,

      sun序号是0,mon序号是1

2)枚举标识符常量可以当做整型常量使用,它的值就是它的序号。

      例如:若枚举类型enum WeekDay定义如上,则语句printf("%d",fri);打印出5.

      事实上,枚举类型的主要应用就是用枚举常量标识符来代替符号常量。

      比如,若有定义enum {RED,YELLOW,BLUE};则它与以下宏定义

                 #define RED 0

                 #define YELLOW 1

                 #define BLUE 2

                 在使用上完全等效。显然enum更省代码。

3)定义枚举类型时,可以设置枚举常量对应的序号,序号可以是任何整数(包括负数)。

      例如,若定义enum {sun=7,mon=1,tue,wed,thu,fri,sat};

                 则sun=7,mon=1,tue=2,wed=3

                 若定义enum{male=1,female=-1};

                 则male=1,female=-1

4)枚举类型可以比较大小。

4.枚举变量

1)可以用枚举标识符常量向枚举变量赋值或初始化。例如:

      enum {x1,x2}x,y=x2;

      x=x1;

2)整型表达式的值如果在枚举值之列,经过类型强制转换后,可以向枚举变量赋值。例如:

      today=(enum WeekDay)1;

      这是枚举变量与整型变量的唯一区别。


       

1 0
原创粉丝点击