此 C 代码中 "Ranks" 和 "Order" 有什么区别?
What is the difference between "Ranks" and "Order" in this C code?
typedef enum Ranks {FIRST, SECOND} Order;
我不清楚这里发生了什么。从教程中示例的其余部分看来,我将使用 Order
来创建变量,如 Order x = 0;
,但什么是 Ranks
?
Ranks
是 enum
的名称,Order
是 enum Ranks
[=20= 的名称]type,用的时候要这样
enum Ranks ranks;
Order order;
这类似于做
enum Ranks {FIRST, SECOND};
typedef enum Ranks Order;
Ranks
是枚举类型的名称,Order
是它的别名——类似于:
typedef int Other_int_name
A struct
、enum
和 union
可以同时具有标签和 typedef
名称。在
typedef enum Ranks {FIRST, SECOND} Order;
Ranks
是标签,Order
是 typedef
ed 名称。
事实上,标签和 typedef
名称甚至可以相同:
typedef enum Ranks {FIRST, SECOND} Ranks; // Though, its not required
typedef enum Ranks {FIRST, SECOND} Order;
我不清楚这里发生了什么。从教程中示例的其余部分看来,我将使用 Order
来创建变量,如 Order x = 0;
,但什么是 Ranks
?
Ranks
是 enum
的名称,Order
是 enum Ranks
[=20= 的名称]type,用的时候要这样
enum Ranks ranks;
Order order;
这类似于做
enum Ranks {FIRST, SECOND};
typedef enum Ranks Order;
Ranks
是枚举类型的名称,Order
是它的别名——类似于:
typedef int Other_int_name
A struct
、enum
和 union
可以同时具有标签和 typedef
名称。在
typedef enum Ranks {FIRST, SECOND} Order;
Ranks
是标签,Order
是 typedef
ed 名称。
事实上,标签和 typedef
名称甚至可以相同:
typedef enum Ranks {FIRST, SECOND} Ranks; // Though, its not required