首页 > 解决方案 > 是否包含头文件

问题描述

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

int sum(int a,int b);

float prod(float c,float d);

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

我编译发现无论包含还是不包含都可以得到正确的结果。我很困惑为什么并期待有一个解释。

标签: cheader-files

解决方案


这是一个很好的做法。

有一个比这更可靠的原因:如果您的一个函数调用另一个定义的函数,operator.c您需要确保该函数的声明或定义发生调用它之前。最好的方法在定义任何函数之前声明所有函数。而且由于头文件只是那些声明,因此#include确保一切都在那里是有意义的。


推荐阅读