typedef在C中的区别?

Gui*_*ano 1 c typedef

C语言中有以下几点有什么区别:

typedef enum month_t
{
jan,
feb,
march
}month;
Run Code Online (Sandbox Code Playgroud)

typedef enum
{
monday,
tuesday,
wednesday
}day;
Run Code Online (Sandbox Code Playgroud)

在发布这个问题之前,我读到了:Objective-C中的typedef枚举是什么?

但是不太了解......

unw*_*ind 11

第一个还引入了一个枚举标记,这意味着可以像这样使用枚举:

enum month_t first = jan;
/* or */
month second = feb;
Run Code Online (Sandbox Code Playgroud)

第二个没有,因此枚举仅适用于typedef:ed名称day.

当然,枚举本身也是不同的,但这很明显.

  • 是(upvoted).换句话说,第一个声明一个名为'month_t'的枚举,并输入一个名为'month'的别名.第二个声明了一个匿名枚举,并键入一个名为'day'的别名. (2认同)