typedef enum Ranks {FIRST, SECOND} Order;
我不清楚这里发生了什么。从教程示例的其余部分来看,我会使用Order
创建变量,如Order x = 0;
,但Ranks
是什么?
答案 0 :(得分:8)
Ranks
是 enum
的名称,Order
是enum Ranks
类型的名称,使用时你应该这样做
enum Ranks ranks;
Order order;
它类似于做
enum Ranks {FIRST, SECOND};
typedef enum Ranks Order;
答案 1 :(得分:2)
Ranks
是枚举类型的名称,Order
是其别名 - 类似于:
typedef int Other_int_name
答案 2 :(得分:1)
struct
,enum
和union
可以同时包含标记和typedef
名称。在
typedef enum Ranks {FIRST, SECOND} Order;
Ranks
是一个标记,Order
是typedef
的名称。
事实上,标签和typedef
名称甚至可以相同:
typedef enum Ranks {FIRST, SECOND} Ranks; // Though, its not required