注:以下所有代码使用ubuntu12.04运行。
首先,枚举类型需要注意的地方主要有以下几个方面:
1.枚举是一个数据类型,可以类比如int等数据类型记忆。
2.一个枚举类型的成员,其效果与#define相似。代码如下:
typedef enum{
MON=1,
TUE,
WEN,
THU,
FRI,
SAT,
SUN,
}Weekday;
其效果与以下代码相同:
#define MON 1
#define TUE 2
#define WEN 3
#define THU 4
#define FRI 5
#define SAT 6
#define SUN 7
在程序中使用时,可直接使用定义好的符号。
3. 某个枚举类型的取值范围即该枚举类型成员的值,例如下面程序中的枚举变量today,其取值范围即为MON~SUN。
#include "stdio.h"
typedef enum{
MON=1,
TUE,
WEN,
THU,
FRI,
SAT,
SUN,
}Weekday;
#define NEWLINE '\n' //偶然发现的用法,增强程序的可读性
int main()
{
Weekday today = THU; //Weekday是该枚举类型的重定义关键字,在定义时可直接赋值。
printf("The result is %d%c",today,NEWLINE);
printf("This is %d in week \n",SUN);
return 0;
}