编写代码求C语言中枚举类型所占的内存长(用sizeof)6
发布网友
发布时间:2023-11-15 00:47
我来回答
共2个回答
热心网友
时间:2024-07-12 22:01
枚举类型,在C语言中求sizeof,可以先定义一个枚举类型,然后对枚举类型中的元素,或者对类型求size,获取到内存长。
代码如下
#include<stdio.h>
enum TEST
{
TEST0,
TEST1,
TEST2
};
int main()
{
printf("size of TEST is %d\n", sizeof(TEST));//用类型求大小。
printf("size of TEST is %d\n", sizeof(TEST1));//用元素求大小。
return 0;
}
对于枚举类型,区分是否有负数值,系统会按照unsigned int或int来处理,而是否带符号,并不影响int的占用空间。所以任意枚举类型或枚举变量,占用的空间都是和平台实现时的int类型相同。对于主流的32位/64位平台,枚举类型均占4字节。即sizeof结果为4。
热心网友
时间:2024-07-12 22:01
enum weekday
{
sun,mon,tue,wed,thu,fri,sat
} a;
int s;
a = mon;
s = sizeof(enum weekday); // 用
printf("%d",s);
s = sizeof(a); // 用
printf("%d",s);