2016 - 2024

感恩一路有你

java枚举详解 C语言中如何控制枚举类型占用空间的大小?

浏览量:1603 时间:2021-03-27 05:15:07 作者:admin

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用法

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。