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
",STATE_R,STATE_W,STATE_Ex,STATE_T);

    exit(0);
}
原文地址:https://www.cnblogs.com/z3286586/p/13259101.html