为什么C枚举常量需要一个名字?

Gar*_*hby 0 c

为什么C枚举常量需要一个名字?因为这:

#include <stdio.h>

enum {NO, YES};

int main(void)
{
    printf("%d\n", YES);
}
Run Code Online (Sandbox Code Playgroud)

与此工作原理相同:

#include <stdio.h>

enum boolean {NO, YES};

int main(void)
{
    printf("%d\n", YES);
}
Run Code Online (Sandbox Code Playgroud)

小智 8

这样您就可以创建枚举类型的变量:

enum boolean read_file = NO;
Run Code Online (Sandbox Code Playgroud)


小智 6

如果要创建"枚举"类型,例如:

enum boolean x;
x = NO;
Run Code Online (Sandbox Code Playgroud)

更简单的方法是使用typedef:

typedef enum {NO, YES} boolean;
Run Code Online (Sandbox Code Playgroud)

然后你要做的就是使用boolean作为类型:

boolean x;
x = NO;
Run Code Online (Sandbox Code Playgroud)