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

来源:百度知道 编辑:UC知道 时间:2024/05/10 23:23:54
C语言中枚举类型会根据其值的取值范围由编译器自动决定枚举变量所占的空间,如何强制指定其所占空间的大小呢?

在枚举类型后面设置对应的  :类型   即可。比如 enum cnum : char   (这里加上   :char)

#include <stdio.h>

enum cnum : char  // 加上   :char 则元素是 char 类型
{
    c_one, c_two, c_three
};

enum snum : short  // 加上   :short  则元素是 short 类型
{
    s_one, s_two, s_three
};

enum inum : int   // 加上   :int  则元素是 int 类型
{
    i_one, i_two, i_three
};

int main()
{
    printf("cnum: %d\nsnum: %d\ninum: %d\n",
           sizeof(cnum), sizeof(snum), s