读书人

枚举类型内存空间有关问题求教~

发布时间: 2012-03-18 13:55:39 作者: rapoo

枚举类型内存空间问题,求教~~
我定义了一个枚举类型,请问它的内存空间是多少呢?
typedef enum{
UP,
DOWN,
RIGHT,
LEFT
}DIRECT;

编译器此时为它分配内存么?大小是多少?谢谢,请指教。。
为什么printf("%d\n",sizeof(DIRECT));结果是4。
我认为应该为它分配4个int的大小,因为4个int值都存在,因该说4×4 = 16啊


[解决办法]
它没有空间,它只是定义了一些常量而已。你不能用struct的相同的思路去认为它,对于sizeof(DIRECT),因为可以将DIRECT看作是int,所以算出来的是4

[解决办法]

C/C++ code
typedef enum{         UP,         DOWN,         RIGHT,         LEFT }DIRECT; 

读书人网 >C语言

热点推荐