创建 enum
类型的变量有什么好处?我知道如何定义枚举类型和变量 - 但是,我不太明白其中的优势?
#include <stdio.h>
int main(void){
enum colour{
white,
red=2,
green,
blue,
yellow,
black
} jacket;
jacket=50;
int shirt=yellow;
printf("%d\n",jacket);
printf("%d",shirt);
return 0;
}
在上面的代码中,jacket
被定义为enum
而shirt
被定义为一个整数。 enum
类型不会阻止我使用未指定为元素的值。 integer
类型也不会阻止我将它分配给 enum
类型的值。
以上代码输出如下:
50
5
这些变量之间的功能差异是什么?
What's the functionaly difference, if any, between these variables?
shirt
和jacket
都是整数类型但是shirt
是int
并且是enum color
。后者是一个实现定义的整数类型,例如可以是 unsigned int
。
例如在gcc
中,默认enum colour
是unsigned int
。
现在使用 enum
类型的变量有一些优势。例如,一些编译器能够检测并警告不同 enum
类型的混淆。此外,如果您使用 enum
类型的对象作为 switch
语句的控制表达式,一些编译器(例如,gcc
和 -Wswitch
) 如果您没有列出所有 enum
常量情况,则能够发出警告。此外,调试器通常能够为 enum
对象值显示一些漂亮的符号。
我是一名优秀的程序员,十分优秀!