java枚举详解 C语言中如何控制枚举类型占用空间的大小?
C语言中如何控制枚举类型占用空间的大小?
标准C没有指定枚举类型占用的空间大小。它只说“枚举类型的大小是可以容纳最大枚举数的值的整数的大小”。同时还规定了“枚举类型中枚举数的值必须用int类型表示”,即枚举类型的大小不能超过int类型Inch的大小,但必须与int类型的大小相同吗?上面的标准已经非常明确,只要整数能容纳最大枚举数的值,就可以是char,short和int不同的C编译器对枚举类型的大小定义不同,但是程序员不能认为修改枚举类型会占用空间。
编写代码求C语言中枚举类型所占的内存长(用sizeof)?
枚举类型,在C语言中查找sizeof,可以先定义一个枚举类型,然后计算枚举类型中的元素或类型的大小来获得内存长度。
代码如下
#include
enum test
{
Test0,
test1,
test2
}
]int main()
{
printf(“测试大小”为%dn“,sizeof(test))//按类型查找大小。
Printf(“size of test”为%dn“,sizeof(test1))//查找元素的大小。
Return 0
}对于枚举类型,是否有负值将根据无符号int或int来处理,但是否有符号不会影响int的占用空间,因此在平台实现中,任何枚举类型或枚举变量都会占用与int类型相同的空间。对于主流32位/64位平台,枚举类型占4字节。结果的大小是4。
java枚举详解 枚举类型enum定义 java枚举类型enum用法
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。