枚举数据类型

Shw*_*eta 2 c enums

enum关键字有什么用?我们在哪里可以使用枚举数据类型?有谁可以用一个例子解释一下?

Jon*_*ler 6

An enum给出一个数字的名称.

enum { MAX_LINES = 60 };
Run Code Online (Sandbox Code Playgroud)

表面上看,也是如此#define:

#define MAX_LINES 60
Run Code Online (Sandbox Code Playgroud)

enum超过a 的好处#define是名称记录在调试信息中,因此调试器可以使用它.

您还可以使用a enum来定义一组相关值:

typedef enum { RED, GREEN, BLUE } Colour;
Run Code Online (Sandbox Code Playgroud)

然后,您可以使用这些索引为RGB值的三元组数组:

typedef unsigned char Pixel[3];

Pixel p;

p[RED]   = 128;
p[GREEN] = 128;
p[BLUE]  = 255;
Run Code Online (Sandbox Code Playgroud)

可能不是世界上最好的例子,但可以说明enum可以使用的地方.