C语言枚举数据类型?

时间:2012-07-25 07:25:16

标签: c

  

可能重复:
  What is the size of an enum in C?

重新定义C语言枚举:用户无法控制枚举变量的大小。有人可以解释一下吗?

1 个答案:

答案 0 :(得分:0)

本声明来自C99 6.7.2.2p4

  

每个枚举类型应与char,有符号整数类型或者   无符号整数类型。类型的选择是实现定义的, 108 )但应该是   能够表示枚举中所有成员的值。

     

108)实现可能会延迟选择哪个整数类型,直到所有枚举常量都有   被人看见了。

这允许编译器做出它认为是特定枚举的最佳选择。枚举可能不是在机器之间传递的二进制消息中使用的最佳选择。但是,您可以使用整数类型,并强制转换为枚举类型。