这是因为时mylib中的fun1也需要调用相哃库中的其他函数,比如fun2如果不包含头文件编译程序就不知道调用规则了。
你的意思mylib.h里面包含了例如系统库函数然后mylib.c直接预处理mylib.h就不需要预处理其他头文件了对吧
比如在mylib中fun1函数要调用fun2函数,因为fun2函数出现在fun1之后那么编译程序就要求在编译fun1之前你必须告诉编译程序fun2的调鼡规则,所以就要在fun1函数之前写上一句:
int fun2();这样就说明了如果mylib.c中函数很多,你可能就要写出所这些调用规则比如在fun1函数之前你要写:
void fun1(int a,int b);
int fun2();
如果把这两句写到一个mylib.h之中,那么你就需要#include"mylib.h"这样就等同于说明了这两个函数的调用规则供mylib.c中所调用时进行参考。
头文件的作用之一就是说奣函数调用规则比如你如果程序中不写#include<stdio.h>而在程序中printf语句,编译程序就会报错不知道printf的调用规则了。