C

xiaoxiao2021-02-28  102

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,使用这种没有枚举名的枚举效果更好。

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

转载请注明原文地址: https://www.6miu.com/read-32963.html

最新回复(0)