一、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
本文详细介绍了C语言中枚举类型的两种定义方式及其区别,并提出了作者的个人偏好。同时,通过对比不同定义方式的优缺点,帮助读者理解如何选择最适合项目的枚举类型定义。
1174

被折叠的 条评论
为什么被折叠?



