枚举在C中最多可以包含多少个元素?

枚举在C中最多可以包含多少个元素?,c,enums,C,Enums,我已经在enum中使用了大约10个元素。我想知道最大值,以便能够正确地编写代码 一个enum在一个一致性实现中至少可以保持1023枚举常量(见ISO/IEC 9899:1999的§5.2.4.1“翻译限制”)。这给了你一个下限 由于枚举常数的类型为int(参见ISO/IEC 9899:1999的§6.4.4.3“枚举常数”),上限为int_MAX+1(假设没有重复的枚举常量值),如果也使用负值,则上限为int_MAX+1-int_MIN 任何实现都可以自由选择一个枚举可以包含多少枚举常量,只要它

我已经在enum中使用了大约10个元素。我想知道最大值,以便能够正确地编写代码

一个
enum
在一个一致性实现中至少可以保持
1023
枚举常量(见ISO/IEC 9899:1999的§5.2.4.1“翻译限制”)。这给了你一个下限

由于枚举常数的类型为
int
(参见ISO/IEC 9899:1999的§6.4.4.3“枚举常数”),上限为
int_MAX+1
(假设没有重复的枚举常量值),如果也使用负值,则上限为
int_MAX+1-int_MIN


任何实现都可以自由选择一个枚举可以包含多少枚举常量,只要它在这些下限和上限之间。

您是说枚举器列表中的标识符吗?枚举是int常量,可以有多少int常量?修辞问题

您真的不应该担心要使用的最大枚举数。我猜它在
INT\u MAX
的范围内。这意味着很多,但这个问题不是重复的。此处,请询问enum中的最大元素数,其中链接的大小约为enum elemnt。。!!是吗???@Mr.32:是的,你说得对。很抱歉。@Constantinius要使用的最大枚举数是什么意思?
enum foo{AAA=0,BBB=0,CCC=0,DDD=0}
我不确定您的意思,从c99标准草案6.7.2.2#3
(使用带=的枚举数可能会产生枚举常量,其值与同一枚举中的其他值重复。)
您只能有这么多int常量。。。但是你可以给它们取更多的名字:)+1只是为了解释这两件事1>表示枚举中元素的最大数量,2>表示枚举中每个元素的大小,每个元素可以存储最大数量。。!!!除非显式赋值,否则负值不可用。语言标准规定连续枚举常量的值每增加1,因此负值是不可达到的。@R:合理注释-将其集成到答案中。谢谢