c语言源程序包含多个源文件时,每个源文件都要加include,包含头文件吗

比如主函数写在main.c文件里,main.c里面有:#include <stdio.h>
另外一个函数写在c1.c文件里,如果这个函数需要使用printf等输出函数,那要不要在c1.c里面再加上#include <stdio.h>。
我用的是codeblocks,在c1.c里没有包含stdio.h,但用了printf,结果编译时没有警告。

但我在main.c里面写了#include <time.h>以后,再在c1.c文件里调用获取时间的函数时,编译器有了警告,说time函数隐式定义。(warning: implicit declaration of function 'time' [-Wimplicit-function-declaration]),在c1.c文件加了#include <time.h>之后,警告就没有了。

那么问题就来了,到底在其他源文件里要不要把include再写一遍??
初学C语言,一些细节问题不太清楚。烦请多多指教。

作为一个基本原则,每一个源文件都需要 #include 将所需要的头文件引用进来。
因为编译系统对源文件的编译是分别进行了,也就是说分别编译 main.c 和 c1.c 的。
但是可以在自己的头文件里面再引用其他头文件,这样就可以在 源文件里面只包含一盒自己定义的头文件了。
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-10-01
需要的。在其他源文件里面可以放心加上需要的库头文件。本回答被提问者采纳
第2个回答  推荐于2018-03-08
两个不同的c文件用到同一个头文件时,两个c文件都要include该头文件。本回答被网友采纳
相似回答