【问题标题】:C language enumeration datatype? [duplicate]C语言枚举数据类型? [复制]
【发布时间】:2012-07-25 07:25:16
【问题描述】:

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

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

【问题讨论】:

标签: c


【解决方案1】:

此语句来自 C99 6.7.2.2p4

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多