在如下所示声明枚举时,是否所有C编译器在Linux和Windows系统上都将默认值设置为x=0y=1z=2

typedef enum {
    x,
    y,
    z
} someName;

推荐答案

对除非在枚举的定义中另有指定,否则初始枚举数的值始终为零,并且每个后续枚举数的值都比前一个枚举数大一个.

C++相关问答推荐

int_leastX_t与intX_t不同吗?

va_arg -Linux和Windows上的不同行为

如何在C中通过转换为char * 来访问float的字节表示?

为指针 struct 创建宏

如何通过Zephyr(Devicetree)在PR Pico上设置UTE 1?

ISO_C_BINDING,从Fortran调用C

从C函数调用asm函数时生成错误的BLX指令(STM32H753上的gcc)

单指针和空参数列表之间的函数指针兼容性

显式地将值转换为它从函数返回的类型的含义是什么?

Can函数指针指向C++中具有不同参数连续性的函数

如何有效地编写代码来判断两个元素数量相同的数组即使在不同的位置也具有相同的元素?

FRIDA-服务器成为端口扫描的目标?

在for循环中指向数组开头之前

如何将另一个数组添加到集合中,特别是字符串?

Boyer Moore算法的简单版本中的未定义行为

获取前2个连续1比特的索引的有效方法

将不同类型的指针传递给函数(C)

在NASM中链接Linux共享库时出错-';将R_ X86_64_;foo';

";错误:寄存器的使用无效;当使用-masm=intel;在gcc中,但在AT&;T模式

无法理解 fgets 输出