c - C 中一个枚举最多可以包含多少个元素?

标签 c enums

我正在使用的枚举中已经有大约 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 如果您还使用负值。

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

关于c - C 中一个枚举最多可以包含多少个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9359906/

相关文章:

java - 如何静态导入 Java 中单独文件中的枚举?

c++ - 使用 OpenCV C++ 接口(interface),我是否需要释放使用 VideoCapture(int 设备?)

c - 指针的地址和指针包含的地址之间的区别

c - 指针和字符串的关系

c - C中函数调用的默认参数

java - Java 枚举中的静态(和最终)字段初始化

带有枚举的 Java 数组

hibernate 中的 Java 枚举

c++ - 跟踪专用模板对象的枚举成员值

python - 需要一个工具来检测 C 代码中变量的类型