多文件程序中,C语言数据结构定义和声明问题
首先在头文件a.h中定义了一个数据结构struct_a。然后在头文件b.h中声明了数据结构:struct struct_a;
并且在b.c中使用该数据结构定义了变量:struct struct_a variable_a;
其中a.h头文件中include“b.h”
但是b.h头文件中却不包含“a.h”
在Linux环境下使用gcc进行编译,通过了,生成了a.o和b.o
为什么在b.h中没有包含a.h头文件,但是却能编译生成b.o?为什么没有报结构体未定义错误?