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