1、枚举类型定义
定义
- 枚举类型是被当做 int 或者 unsigned int 类型来处理的
第一个枚举成员的默认值为整型的 0,后续枚举成员的值在前一个成员上加 1
// 第一个枚举成员默认整型0,后续的依次加1enum DAY{MON,TUE,WED,THU,FRI,SAT,SUN};// spring=0 summer=3 autumn=4 winter=5enum Season{spring,summer=3,autumn,winter};
- 枚举类型是被当做 int 或者 unsigned int 类型来处理的
2、枚举变量定义
方式1:先定义枚举类型,再定义枚举变量
enum DAY{MON=1, TUE, WED, THU, FRI, SAT, SUN};enum DAY day;day = MON;printf("%d",day);
方式2:定义枚举类型的同时定义枚举变量
enum DAY{MON=1, TUE, WED, THU, FRI, SAT, SUN} day;day = MON;printf("%d",day);
方式3:省略枚举名称,直接定义枚举变量
enum{MON=1, TUE, WED, THU, FRI, SAT, SUN} day;day = MON;printf("%d",day);
3、枚举类型遍历
连续的枚举遍历
enum DAY{MON=1, TUE, WED, THU, FRI, SAT, SUN} day;// 遍历枚举元素for (day = MON; day <= SUN; day++) {printf("枚举元素:%d \n", day);}
以下枚举类型不连续,这种枚举无法遍历。
enum{ENUM_0,ENUM_10 = 10,ENUM_11};
4、整型强转枚举
强转
enum day{saturday,sunday,monday,tuesday,wednesday,thursday,friday};int a = 1;enum day weekend = ( enum day ) a; //类型转换printf("weekend:%d",weekend);
