列表前后的 C 枚举标签 - 类型还是变量名称?

标签 c enums

我看到很多场合(谷歌搜索)枚举声明如下:
enum enum_tag {a = 0, b, c, d} tag_again;enum enum_tag {a = 0, b, c, d};
或者
enum {a = 0, b, c, d} tag_again;
有时似乎 enum_tag 是类型而 tag_again 是变量名,但是如果 enum_tag 不存在 tag_again 似乎有时用作两者之一......它是什么?

如果我要编码enum {a = 0, b, c, d} tag_again;tag_again 是枚举类型还是无名枚举类型的变量??

最佳答案

继续我的谷歌搜索,MSDN 给了我答案:MSDN C Enum Declarations
enum enum_tag {a = 0, b, c, d} tag_again;定义枚举类型 enum_tag 并声明该类型的变量:tag_again。
enum enum_tag {a = 0, b, c, d};定义 enum_tag 的枚举类型


enum {a = 0, b, c, d} tag_again;声明一个无名枚举类型的变量 tag_again (正如我所想的)

关于列表前后的 C 枚举标签 - 类型还是变量名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15924377/

相关文章:

java - 在扩展 Enum 的泛型类中使用 Enum.values

ios - 直接调用 Swift 枚举实例方法会创建实例吗?

java - 类 StatusCode 扩展 Enum<StatusCode>

c++ - 在Ubuntu 18.04上找不到MPI_C和MPI cmake

工作中的 C struct hack

c++ - SSD读取性能

postgresql - 如何在 Yii2 中使用新创建的自定义 Postgres 模式类型(ENUM)

c++ - 将枚举传递给构造函数

c - fwrite 打印垃圾,fread 读取垃圾结构

c - 我如何在 C 中将一个数(例如 123)分成 1、2 和 3?