我们可以在 C 中使用具有不同枚举标记的多个常量吗

标签 c enums

我有以下代码:

enum tag1 {
 n1, n2, n3
};

enum tag2 {
 n4, n5, n1
};

现在,我得到一个错误,n1 被使用了两次

所以我的问题是,当枚举常量没有作用域时,枚举标签有什么用。

最佳答案

不,你不能这样使用它。 “C”中的枚举不是强类型的。

使用枚举提高了抽象级别,让程序员思考值的含义,而不是担心它们是如何存储和访问的。这减少了错误的发生。

枚举有这些好处:

  • 它们限制枚举变量可以取的值
  • 它们迫使您考虑枚举可以采用的所有可能值。
  • 它们是常数而不是数字,增加了源代码的可读性

关于我们可以在 C 中使用具有不同枚举标记的多个常量吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21213101/

相关文章:

c++ - lua/C++ 对象与静态成员的绑定(bind)

swift - 如何使用带有嵌套枚举的 switch 语句?

带有 XML Bean 的 Java 枚举?

java - 为什么大多数枚举值在声明中以 BUTT 说明符结尾?

java - 枚举到字符串的转换

c - 为什么我需要在此定义中将 x 和 y 添加括号?

将指针转换为指向数组的指针

c - 模乘法(C 语言)

c - 为什么 u-boot 总是将写入的 block 标记为坏 block ?

c# - 如何通过枚举名称和值名称获取未知枚举的值?