" Ranks"之间有什么区别?和"订单"在这个C代码?

时间:2015-01-13 20:50:47

标签: c enums typedef

typedef enum Ranks {FIRST, SECOND} Order;

我不清楚这里发生了什么。从教程示例的其余部分来看,我会使用Order创建变量,如Order x = 0;,但Ranks是什么?

3 个答案:

答案 0 :(得分:8)

Ranks enum 的名称,Orderenum 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)

structenumunion可以同时包含标记和typedef名称。在

typedef enum Ranks {FIRST, SECOND} Order;  

Ranks是一个标记,Ordertypedef的名称。

事实上,标签和typedef名称甚至可以相同:

typedef enum Ranks {FIRST, SECOND} Ranks;   // Though, its not required