C语言之枚举enum使用
C语言枚举类型(Enum):
定义形式为:enum typeName{ valueName1, valueName2, valueName3, ...... };
enum 类型名{名字1,名字2} 枚举变量,枚举值默认从 0 开始,往后逐个加 1(递增)
枚举和宏其实非常类似:宏在预处理阶段将名字替换成对应的值,枚举在编译阶段将名字替换成对应的值。我们可以将枚举理解为编译阶段的宏。
#include <stdio.h> #include <stdlib.h> /* #define STATE_R 1 #define STATE_W 2 #define STATE_Ex 3 #define STATE_T 4 */ enum { STATE_R=0x10, STATE_W=0x12, STATE_Ex=0x11, STATE_T, }; int main() { int state=17; if(state == STATE_R) ; if(state == STATE_W) ; if(state == STATE_Ex) ; if(state == STATE_T) ; printf("%d %d %d %d\n",STATE_R,STATE_W,STATE_Ex,STATE_T); exit(0); }