C 枚举 (enum)
C 枚举
枚举是一种特殊类型,代表一组常量(不可更改的值)。
要创建枚举,请使用 enum
关键字,后跟枚举的名称,并用逗号分隔枚举项
enum Level {
LOW,
MEDIUM,
HIGH
};
请注意,最后一个项目不需要逗号。
使用大写字母不是必需的,但通常被认为是最佳实践。
Enum 是 "enumerations" 的缩写,意思是 "具体列出"。
要访问枚举,您必须为其创建一个变量。
在 main()
方法中,指定 enum
关键字,后跟枚举的名称 (Level
),然后是枚举变量的名称 (myVar
,在本例中)。
enum Level myVar;
现在您已创建了枚举变量 (myVar
),您可以为其分配一个值。
分配的值必须是枚举中的项目之一 (LOW
、MEDIUM
或 HIGH
)
enum Level myVar = MEDIUM;
默认情况下,第一个项目 (LOW
) 的值为 0
,第二个 (MEDIUM
) 的值为 1
,依此类推。
如果您现在尝试打印 myVar,它将输出 1
,它代表 MEDIUM
int main() {
// 创建一个枚举变量并为其分配一个值
enum Level myVar = MEDIUM;
// 打印枚举变量
printf("%d", myVar);
return 0;
}
自己试试 »
更改值
如您所知,枚举的第一个项目的值为 0。第二个项目的值为 1,依此类推。
要使值更有意义,您可以轻松地更改它们
请注意,如果您为一个特定项目分配一个值,下一个项目将相应地更新其数字。
enum Level {
LOW = 5,
MEDIUM, // 现在是 6
HIGH // 现在是 7
};
自己试试 »
枚举在 switch 语句中
枚举通常用于 switch 语句中,以检查相应的 value
enum Level {
LOW = 1,
MEDIUM,
HIGH
};
int main() {
enum Level myVar = MEDIUM;
switch (myVar) {
case 1
printf("Low Level");
break;
case 2
printf("Medium level");
break;
case 3
printf("High level");
break;
}
return 0;
}
自己试试 »
为什么要使用枚举以及何时使用枚举?
枚举用于为常量命名,这使得代码更易于阅读和维护。
当您有确定不会更改的值时使用枚举,例如月份、星期、颜色、一副牌等。