hit*_*ter 6 c struct typedef definition
以下块 main() 在每个函数(全局范围)
第1块之外和之前:
struct flight{
int number;
int capacity;
int passengers;
};
Run Code Online (Sandbox Code Playgroud)
有了这个,你可以创建数组,指针,变量与写作形成对比}var; (它只定义了这个自定义数据类型的一个变量(struct flight))
第二块:
typedef struct flight{
int number;
int capacity;
int passengers;
}flight;
Run Code Online (Sandbox Code Playgroud)
声明这将创建一个数据类型的飞行,而不必编写结构飞行的所有时间
在一个块的末尾写我的问题是,为什么需要typedef的飞行第二次?
这有点令人困惑(它看起来只是该数据类型的变量)
oua*_*uah 12
我的问题是为什么typedef需要在块结束时第二次写入航班?
当你声明:
typedef struct flight{
int number;
int capacity;
int passengers;
}flight;
Run Code Online (Sandbox Code Playgroud)
你实际上宣布了两件事:
struct flightflight的struct flight.类型别名名称typedef 出现在声明末尾的原因与任何普通声明一样,是因为由于历史原因typedef,它与存储类说明符(如static或auto)放在相同的说明符类别中.
请注意,您只需声明:
typedef struct {
int number;
int capacity;
int passengers;
}flight;
Run Code Online (Sandbox Code Playgroud)
如果您只想使用类型标识符,则不带标记名称flight.