枚举是C语言中的一种基本数据类型,通过枚举可以声明一组常数,来代表不同的含义,它实际上就是一组整型常量的集合。
枚举是非常常用的一种类型,在现实生活中也很常见。比如有四个季节,在不同的季节需要显示不同的配色,在代码中可以用1到4四个数字表示不同的季节,但是这样的话,程序的可读性很差,因为你很难区分不同数字代表哪个季节,这个时候就可以使用一个季节的枚举变量来表示春、夏、秋、冬,这样当看到枚举值的第一时刻就能知道对应的季节,但是实际上四个枚举值对应的还是4个整型数字。
枚举类型的定义
enum 枚举名 {枚举元素1, 枚举元素2, 枚举元素3… };
代码
enum Season { sPRing, summer, autumn, winter };
枚举变量的定义
按照格式定义好枚举类型后,就可以使用定义好的枚举类型声明枚举变量。下面就以四季为例子讲解一下枚举变量定义的几种方式
1、先定义枚举类型,再定义枚举变量
代码
enum Season { spring, summer, autumn, winter }; enum Season s;
2、定义枚举类型的同时定义枚举变量
代码
enum Season { spring, summer, autumn, winter } s;
3、省略枚举名称,直接定义枚举变量
代码
enum { spring, summer, autumn, winter } s;
4、给枚举类型重命名,然后定义枚举变量
代码
typedef enum _season { spring, summer, autumn, winter } Season; Season s;
枚举元素对应的值
1、枚举元素的值取决于定义枚举类型时的先后顺序,默认情况下,第一个枚举元素的值为0,第二个为1,后面的依次加1
代码
enum Season { spring, summer, autumn, winter } ;
例子中的spring的值为0,summer为1,autuum为2,winter为3
2. 枚举元素的值也可以在定义枚举类型的时候进行改变,给某个枚举元素指定一个值,其枚举元素后面的枚举值依次加1
代码
enum Season { spring, summer = 3, autumn, winter } ;
例子中的spring的值为0,summer为3,autuum为4,winter为5
枚举元素对应的值
定义好枚举类型后,就可以在类中使用枚举类型的实例变量或者在方法中使用枚举类型的参数。给枚举变量赋值可以使用枚举常量,也可以使用整型值,两者效果一样。
代码
enum Season {spring, summer, autumn, winter} s; Season s1 = spring; //等价于 s1=0 Season s2 = 2; //等价于s2= autumn
作者:杰瑞教育