为什么在 C 的头文件中使用 typedef struct?

why typedef struct in a header file in C?

我在 C 头文件中看到了这样的代码:

//a.h

typedef struct name name;

//a.c

struct name {
   int number;
   int age;
};

头文件中typedef struct是什么原因?并在源文件中实现它?

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

typedef 关键字用于创建同义词,因此稍后在您的代码中您可以仅使用您的 typedefed 关键字而不是 struct 或您替换的任何原始类型。