枚举
用于声明一组常数。当一个变量有几个固定的可能取值时,可以将这个变量定义为枚举类型
类型定义
enum Season {Spring, Summer, Autumn, Winter};
定义变量
与结构体一样,有三种方式:
|
|
|
|
|
|
枚举常量的意义
C语言编译器会将枚举元素(Spring、Summer等)作为整型常量处理,称为枚举常量。
- 枚举常量默认值
枚举元素的值取决于定义时各枚举元素排列的先后顺序。默认情况下,第一个枚举元素的值为0,第二个为1,依次顺序加1。
enum Season {Spring, Summer, Autumn, Winter};
也就是说Spring的值为0,Summer的值为1,Autumn的值为2,Winter的值为3
- 改变枚举常量的值
enum Season {Spring, Summer = 3, Autumn, Winter};
没有指定值的枚举元素,其值为前一元素加1。也就说Spring的值为0,Summer的值为3,Autumn的值为4,Winter的值为5
使用方式
|
|
遍历
- 普通方式
|
|
如果改变了中间的枚举常量值,那么在 遍历的时候,也无法 遍历出正确的元素值。
所以不要随意改变枚举常量的值,当然仅在声明时改变首元素的值,对遍历还是无影响的。
- 指针方式(有问题)
|
|