重新定义C语言枚举:用户无法控制枚举变量的大小。有人可以解释一下吗?
答案 0 :(得分:0)
本声明来自C99 6.7.2.2p4
每个枚举类型应与char,有符号整数类型或者 无符号整数类型。类型的选择是实现定义的, 108 )但应该是 能够表示枚举中所有成员的值。
108)实现可能会延迟选择哪个整数类型,直到所有枚举常量都有 被人看见了。
这允许编译器做出它认为是特定枚举的最佳选择。枚举可能不是在机器之间传递的二进制消息中使用的最佳选择。但是,您可以使用整数类型,并强制转换为枚举类型。