如何在C中使用枚举?

时间:2019-05-18 17:03:10

标签: c

我已经阅读了很多有关枚举的文档,但是我仍然不清楚该枚举。

我已经阅读了枚举语法,但是仍然有些事情让我感到奇怪:

1. How does Enum work? I need more than 1 example of how to use enum? And when should I use it?
2. If I have more than 1 enum, how do I run the loop with each enum.

有人可以给我详细的解释吗?谢谢

1 个答案:

答案 0 :(得分:1)

枚举仅提供一种带有关键字的类型,该关键字在编译时会转换为数字。由于C在自省功能方面没有太多优势,因此不可能对其进行迭代,并且它们只是数字值的占位符(默认情况下从0开始计数)。示例:

enum test {
  FIRST,
  SECOND,
  THIRD
};

您还可以手动指定它们转换为的数字:

enum test {
  FIRST=1,
  SECOND=2,
  THIRD=3
};

当您希望数据类型具有不同的状态或属性但不清楚使用简单的数值时,此功能特别有用。这意味着不要做类似的事情:

if (status == 2)

这意味着程序员必须弄清楚2意味着您可以做什么:

if (status == READ)

哪个更清楚?