C中的typedef差异?
在C语言中,以下各项之间有什么区别:C中的typedef差异?,c,typedef,C,Typedef,在C语言中,以下各项之间有什么区别: typedef enum month_t { jan, feb, march }month; 及 在发布此问题之前,我阅读了以下内容: 但是不太了解…第一个还引入了枚举标记,这意味着枚举可以像这样使用: enum month_t first = jan; /* or */ month second = feb; 第二个不可用,因此枚举仅适用于typedef:ed nameday 当然,枚举本身是不同的,但这是显而易见的。第一个还引入了枚举标记,这意味着枚
typedef enum month_t
{
jan,
feb,
march
}month;
及
在发布此问题之前,我阅读了以下内容:
但是不太了解…第一个还引入了枚举标记,这意味着枚举可以像这样使用:
enum month_t first = jan;
/* or */
month second = feb;
第二个不可用,因此枚举仅适用于typedef
:ed nameday
当然,枚举本身是不同的,但这是显而易见的。第一个还引入了枚举标记,这意味着枚举可以像这样使用:
enum month_t first = jan;
/* or */
month second = feb;
第二个不可用,因此枚举仅适用于typedef
:ed nameday
当然,枚举本身也是不同的,但这是很明显的。一个定义月,另一个定义天。在第一种情况下,您可以省略
月,然后这两种方法是相同的。month\u t
只是C中可以使用的另一个类型标记,因此可以将月份声明为enum month\u t my\u month代码>或仅月我的月代码>。对于day,您只能执行day my_day代码>它当前的定义方式。@KerrekSB:这在C语言中实际上并没有区别;它们之间存在同构关系。对于C语言之外的用户来说,这只是一个区别。一个定义月份,另一个定义天数。在第一种情况下,您可以省略month\u t
,然后这两种方法将是相同的。month\u t
只是C中可以使用的另一个类型标记,因此可以将月份声明为enum month\u t my\u month代码>或仅月我的月代码>。对于day,您只能执行day my_day代码>它当前的定义方式。@KerrekSB:这在C语言中实际上并没有区别;它们之间存在同构关系。对于C语言以外的用户来说,这只是一个区别。换句话说,第一个声明了一个名为'month_t'的枚举,并定义了一个名为'month'的别名。第二个声明一个匿名枚举并键入一个名为“day”的别名。Yes(向上投票)。换句话说,第一个声明了一个名为'month_t'的枚举,并定义了一个名为'month'的别名。第二个声明一个匿名枚举,并键入一个名为“day”的别名。