一、enum的使用
enum typeName {//定义枚举类型名,可缺省
EnumerationName1 = 0, //定义枚举元素名
EnumerationName2,
...
}valueName1, valueName2[n];//定义枚举变量,可缺省
enum typeName valueName3;
typedef enum typeName {//定义枚举类型名,typeName 可缺省且不建议加
EnumerationName1 = 0, //定义枚举元素名
EnumerationName2,
...
}typeName_t;//定义枚举类型名
typeName_t valueName1;
//enum typeName valueName2;//不建议
二、区别
- 在定义枚举变量时加上enum能一眼就看出该变量为枚举变量,可读性会升高。而且在某些ide中例如vccode中,将鼠标点到结构体中的枚举变量会提示一个" enum typename <name> ",可读性继续增加。
- 但是这两个用法没区别,都是一个意思
三、个人偏好
- 在我个人看来,我会更加侧重使用后者,因为前者在定义枚举类型的时候还要加一个enum,真麻烦。
- 如果是我的建议,我会建议用前者,不要用typedef