是否包含头文件

时间:2018-06-02 04:38:14

标签: c header-files

在头文件(funlist.h)中,我列出了所有函数原型,例如:

int sum(int a,int b);

float prod(float c,float d);

之后,当我定义" sum"和" prod"在一个C源文件(operator.c)中,我必须在开始时#include "funlist.h"吗?

我编译并发现包含或不包含都可以得到正确的结果。我很困惑为什么,并期待着解释。

1 个答案:

答案 0 :(得分:1)

这是一个很好的做法。

有一个比这更坚实的理由:如果你的一个函数调用operator.c中定义的另一个函数,你需要确保在之前发生该函数的声明或定义对它的呼唤。 的最佳方法是在定义任何函数之前声明所有函数。由于头文件只是那些声明,因此#include确保一切都在那里是有意义的。