1

虽然我有使用 Java 枚举的经验,但 typedef 和 Objective-C / C 风格的枚举对我来说还是陌生的。我似乎无法掌握开头声明名称的枚举与未声明名称的枚举之间的区别。例如:

typedef enum Months {JAN, FEB, MAR, APR}
    Months;

对比

typedef enum {JAN, FEB, MAR, APR}
    Months;

是否有理由选择前者而不是后者?前者通过两次声明“月份”似乎是多余的。

这个问题看起来很相似,但最后没有名字,所以我不知道它是否在回答同一个问题。

4

1 回答 1

0

在一般基础上

typedef enum <tagname 1>
{
//values

}<tagname2>;

<tagname 1>用于更清楚地定义您的枚举的全部内容

while<tagname2>只是一个包含整个引用的引用名称typedef enum <tagname 1>

编译器支持这两种变体

于 2013-09-30T19:07:04.330 回答