枚举是C语言中的一种基本数据类型,它可以让数据更简洁,更易读。
枚举语法定义格式为:
enum 枚举名称 {枚举元素1,枚举元素2,...};
接下来我们举一个例子,比如一个星期有7天,如果不用枚举,我们需要使用 #define来为每个整数定义一个别名:
#define Mon 1
#define TUE 2
#define WED 3
#define THU 4
#define FRI 5
#define SAT 6
#define SUN 7
这种方式的代码量非常多,但是我们用枚举的方法就显得非常简洁,如下代码所示:
enum Day {MON=1, TUE, WED, THU, FRI, SAT, SUN};
注意: 第一个枚举成员的默认值为整型的0,后续枚举成员的值在前一个成员上加1.我们在这个实例中把第一个枚举成员的值定义为1,第二个就为2,以此类推。
我们再举一个例子:
enum season {left, ringt=3, up, down};
没有指定的枚举元素,其值为前一元素加1。也就是说left=0,right=3,up=4,down=5。
枚举可以直接使用,如下所示:
#include<stdio.h>
#include<stdlib.h>
enum{Q,W,E=4,R};
int main()
{
printf("枚举的值分别是: %d, %d, %d, %d",Q,W,E,R);
return 0;
}
输出:1,2,4,5