在头文件(funlist.h
)中,我列出了所有函数原型,例如:
int sum(int a,int b);
float prod(float c,float d);
之后,当我定义" sum"和" prod"在一个C源文件(operator.c
)中,我必须在开始时#include "funlist.h"
吗?
我编译并发现包含或不包含都可以得到正确的结果。我很困惑为什么,并期待着解释。
答案 0 :(得分:1)
这是一个很好的做法。
有一个比这更坚实的理由:如果你的一个函数调用operator.c
中定义的另一个函数,你需要确保在之前发生该函数的声明或定义对它的呼唤。 的最佳方法是在定义任何函数之前声明所有函数。由于头文件只是那些声明,因此#include
确保一切都在那里是有意义的。