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

列表前后的C枚举标记-类型还是变量名称?,c,enums,C,Enums,我在很多场合(谷歌搜索)都会看到enum声明如下: enum enum_tag{a=0,b,c,d}再次标记 enum enum_tag{a=0,b,c,d} 或 enum{a=0,b,c,d}tag_ 有时,似乎enum_tag是类型,tag_又是一个变量名,但如果enum_tag不存在,tag_有时也会用作其中之一。。是哪一个 如果我要编码 enum{a=0,b,c,d}tag_ tag_又是枚举类型还是无名枚举类型的变量???继续我的谷歌搜索,MSDN给了我答案: enum enum_ta

我在很多场合(谷歌搜索)都会看到enum声明如下:

enum enum_tag{a=0,b,c,d}再次标记

enum enum_tag{a=0,b,c,d}

enum{a=0,b,c,d}tag_

有时,似乎enum_tag是类型,tag_又是一个变量名,但如果enum_tag不存在,tag_有时也会用作其中之一。。是哪一个

如果我要编码
enum{a=0,b,c,d}tag_

tag_又是枚举类型还是无名枚举类型的变量???

继续我的谷歌搜索,MSDN给了我答案:

enum enum_tag{a=0,b,c,d}再次标记
定义枚举类型enum_标记并再次声明该类型的变量:tag_

enum enum_tag{a=0,b,c,d}定义枚举标记的枚举类型


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

但是,如果类型定义枚举,则tag_似乎再次是类型,enum_标记是可选的,但如果存在,则必须再次与tag_相同。。。