gpt4 book ai didi

C 和枚举

转载 作者:太空宇宙 更新时间:2023-11-04 05:38:39 26 4
gpt4 key购买 nike

创建 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 被定义为enumshirt 被定义为一个整数。 enum 类型不会阻止我使用未指定为元素的值。 integer 类型也不会阻止我将它分配给 enum 类型的值。

以上代码输出如下:

50
5

这些变量之间的功能差异是什么?

最佳答案

What's the functionaly difference, if any, between these variables?

shirtjacket 都是整数类型但是shirtint 并且是enum color 。后者是一个实现定义的整数类型,例如可以是 unsigned int

例如在gcc中,默认enum colourunsigned int

现在使用 enum 类型的变量有一些优势。例如,一些编译器能够检测并警告不同 enum 类型的混淆。此外,如果您使用 enum 类型的对象作为 switch 语句的控制表达式,一些编译器(例如,gcc -Wswitch) 如果您没有列出所有 enum 常量情况,则能够发出警告。此外,调试器通常能够为 enum 对象值显示一些漂亮的符号。

关于C 和枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25573280/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com