为什么要在C中的头文件中键入def struct?

为什么要在C中的头文件中键入def struct?,c,struct,header,typedef,C,Struct,Header,Typedef,我在C标题中看到了如下代码: //a.h typedef struct name name; //a.c struct name { int number; int age; }; 在头文件中使用typedef struct的原因是什么?并在源文件中实现它 为什么不在头文件中定义结构?这样做的目的是什么?typedef关键字用于创建同义词,以便以后在代码中只使用typedef关键字,而不是使用struct或替换的任何基本类型 你指的是结构名而不是结构a吗?投票重新打开,因为我

我在C标题中看到了如下代码:

//a.h

typedef struct name name;

//a.c

struct name {
   int number;
   int age;
};
在头文件中使用typedef struct的原因是什么?并在源文件中实现它


为什么不在头文件中定义结构?这样做的目的是什么?

typedef关键字用于创建同义词,以便以后在代码中只使用typedef关键字,而不是使用struct或替换的任何基本类型

你指的是结构名而不是结构a吗?投票重新打开,因为我认为真正的问题是为什么不在头文件中定义结构。虽然你说得很对,但我认为这不是anser OP想要的。你所说的他/她已经知道了。谷歌关于不透明类型:-