假设您有一个名为 sum.c 的源文件,如下所示:
#include "sum.h"
int sum(int x, int y) {
return x+y;
}
将方法的标题包含在自己的定义文件中有什么意义?你不应该只将它包含在调用 sum 函数的源文件中吗?
答案 0 :(得分:10)
如果您不包含头文件,则无法在同一文件中之前声明的其他方法中使用sum
方法。
答案 1 :(得分:10)
这样,如果标题和源文件中的定义不同,就可以避免可能出现的问题。
答案 2 :(得分:5)
在C语言中这样做是很好的,因为一个体面的编译器应该强调函数原型和实现之间的差异。更不用说在更复杂的示例中,您可能还会在函数需要的头文件中声明一个结构或类似物。您不想复制它,因此请包含头文件。
答案 3 :(得分:1)
这取决于您在头文件中定义的内容。例如,如果您有一些类型或宏定义需要sum.c函数和外部文件访问,那么您需要将它包含在任何地方。
您可能还希望每个源文件有两个头文件。私人的,只包括sum.c.这将包含sum.c函数只需要的东西,它的目的是提高代码的可读性。
第二个“public”头文件将包含sum.c函数调用者所需的内容。您不需要在sum.c文件中包含它。
答案 4 :(得分:0)
标头可以定义一些对实现有用的类型或宏。 从标题中获取这些内容比复制它们更好。
答案 5 :(得分:0)
源文件“sum.c”具有函数sum()的定义; 函数“sum()”的声明包含在头文件“sum.h”中。这有助于保持可读性。