2

可能重复:
C 中枚举的大小是多少?

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

4

1 回答 1

0

此声明来自 C99 6.7.2.2p4

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

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

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

于 2012-07-25T07:31:37.580 回答