C_enum(枚举)可以没有枚举名

C_enum(枚举)可以没有枚举名

如果声明枚举类型时没有指定枚举名,其作用就和#define类似,比如以下代码:

enum {
    STATION_IDLE = 0,
    STATION_CONNECTING,
    STATION_WRONG_PASSWORD,
    STATION_NO_AP_FOUND,
    STATION_CONNECT_FAIL,
    STATION_GOT_IP
};

这里声明了一个枚举类型确没有指定其枚举名,那么它就相当于用#define定义了六个名称和其对应的值,从0开始赋值每次加1,相当于:

#define     STATION_IDLE = 0;
#define     STATION_CONNECTING = 1;
#define     STATION_WRONG_PASSWORD = 2;
#define     STATION_NO_AP_FOUND = 3;
#define     STATION_CONNECT_FAIL = 4;
#define     STATION_GOT_IP = 5;

只不过eunm类型表示的是一个确定的值,而这里#define了六个值,可见如果要表示同一个事件的不同反馈status,使用这种没有枚举名的枚举效果更好。

以上为日常总结,如果有错误或者说法不当之处,欢迎评论区指正,我会及时给予回复。

你可能感兴趣的:(TinyOS,C/C++,c语言,enum)