[英]Why include header in the method definition file?
假设您有一个名为sum.c的源文件,如下所示:
#include "sum.h"
int sum(int x, int y) {
return x+y;
}
将方法的标题包含在自己的定义文件中有什么意义? 你不应该只在调用sum函数的源文件中包含它吗?
如果不包含头文件,则无法在同一文件中之前声明的其他方法中使用sum
方法。
这样,如果标头和源文件中的定义不同,则可以避免可能出现的问题。
在C中实现这一点是一个好习惯,因为一个体面的编译器应该强调函数原型和实现之间的差异。 更不用说在更复杂的示例中,您可能还会在函数需要的头文件中声明一个结构或类似物。 您不想复制它,因此您包含头文件。
这取决于您在头文件中定义的内容。 例如,如果您有一些类型或宏定义需要sum.c函数和外部文件访问,那么您需要将它包含在任何地方。
您可能还希望每个源文件有两个头文件。 私人的,只包括sum.c. 这将包含sum.c函数只需要的东西,它的目的是提高代码的可读性。
第二个“公共”头文件将包含sum.c函数调用者所需的内容。 您不需要在sum.c文件中包含它。
标头可以定义一些对实现有用的类型或宏。 从标题中获取这些内容比复制它们更好。
源文件“sum.c”具有函数sum()的定义; 函数“sum()”的声明包含在头文件“sum.h”中。这有助于保持可读性。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.