为什么在方法定义文件中包含标题?

ark*_*ark 4 c header-files function-declaration

假设您有一个名为sum.c的源文件,如下所示:

#include "sum.h"

int sum(int x, int y) {
    return x+y;
}
Run Code Online (Sandbox Code Playgroud)

将方法的标题包含在自己的定义文件中有什么意义?你不应该只在调用sum函数的源文件中包含它吗?

Kon*_*man 10

如果不包含头文件,则无法在同一文件中之前sum声明的其他方法中使用该方法.


sha*_*oth 10

这样,如果标头和源文件中的定义不同,则可以避免可能出现的问题.


Tim*_*sch 5

在C中实现这一点是一个好习惯,因为一个体面的编译器应该强调函数原型和实现之间的差异.更不用说在更复杂的示例中,您可能还会在函数需要的头文件中声明一个结构或类似物.您不想复制它,因此您包含头文件.