参见英文答案 >
What is the size of an enum in C?6
一个枚举的大小在不同的编译器(gcc,visual c等)中总是一样的吗?也就是说,特定枚举的sizeof()是否与遵循C/C++标准的每个编译器相同的值?
一个枚举的大小在不同的编译器(gcc,visual c等)中总是一样的吗?也就是说,特定枚举的sizeof()是否与遵循C/C++标准的每个编译器相同的值?
解决方法
没有.
在C和C中,枚举将具有这样的大小,使得可以表示所有值并与整数类型兼容.不同的编译器可能会使用不同的算法来选择类型(如果它没有被另一个标准这样明确定义的ABI指定). (C 11允许用新语法指定底层类型)