枚举

收藏799

阅读733

更新时间2025-08-05

C 枚举

C 语言中的枚举是一种特殊类型,它代表了一组常量(不可改变的值)。

要创建枚举,请使用 enum 关键字,后跟枚举名称,并用逗号分隔枚举项:

enum Level {
  LOW,
  MEDIUM,
  HIGH
};

请注意,最后一项不需要逗号。

虽然并不要求使用大写字母,但通常认为这是一个好的做法。

Enum 是 "enumerations" 的缩写,意思是“具体列出的”。

要访问枚举,您必须创建一个该枚举类型的变量。

main() 方法中,指定 enum 关键字,后跟枚举的名称(Level),然后是枚举变量的名称(本例中为 myVar):

enum Level myVar;

现在,您已经创建了一个枚举变量(myVar),可以为其分配一个值。

分配的值必须是枚举内部的一项(LOWMEDIUMHIGH):

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 = 25,
  MEDIUM = 50,
  HIGH = 75
};
printf("%d", myVar); // 这次输出 50
运行实例 »

点击 "运行实例" 按钮查看在线实例

请注意,如果您为某一特定项分配了一个值,则后续项会相应地更新其数字:

enum Level {
  LOW = 5,
  MEDIUM, // 现在为 6
  HIGH // 现在为 7
};
运行实例 »

点击 "运行实例" 按钮查看在线实例

枚举在 switch 语句中的使用

枚举经常用在 switch 语句中来检查对应的值:

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;
}
运行实例 »

点击 "运行实例" 按钮查看在线实例

为何以及何时使用枚举?

枚举用于为常量命名,这使得代码更易于阅读和维护。

当您有一些您知道不会更改的值时,比如月份的天数、星期几、颜色、一副牌等,就应该使用枚举。

科技资讯

更多

精选课程

更多
前端入门_HTML5
前端入门_HTML5

共29课时

61.7万人学习

CSS视频教程-玉女心经版
CSS视频教程-玉女心经版

共25课时

39.3万人学习

JavaScript极速入门_玉女心经系列
JavaScript极速入门_玉女心经系列

共43课时

71万人学习

独孤九贱(1)_HTML5视频教程
独孤九贱(1)_HTML5视频教程

共25课时

61.6万人学习

独孤九贱(2)_CSS视频教程
独孤九贱(2)_CSS视频教程

共22课时

23万人学习

独孤九贱(3)_JavaScript视频教程
独孤九贱(3)_JavaScript视频教程

共28课时

33.9万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时

125万人学习

关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号