<分区>
为什么我们在C中包含头文件
我无法理解在C中添加头文件有什么需要,我的意思是如果我不使用它们会发生什么
标签 c
<分区>
为什么我们在C中包含头文件
我无法理解在C中添加头文件有什么需要,我的意思是如果我不使用它们会发生什么
最佳答案
本来是交叉递归的编译问题:
void foo() {
//bar? what is this function???
bar();
}
void bar() {
//I know foo() because it appears before.
foo();
}
foo
可以调用 bar
只有在它之前定义的情况下。 bar
只有定义在foo
之前才能调用那么我们先定义哪个呢???
为了解决这个问题,出现了原型(prototype)。
//prototype of foo()
void foo();
//prototype of bar()
void bar();
void foo() {
// I can call bar() because I know it exists
bar();
}
void bar() {
// I can call foo() because I know it exists
foo();
}
然后原型(prototype)被收集在一个.h文件中。
它后来成为一种很好的做法,因为它将接口(interface)与实现分开。
关于c - 为什么我们在C中包含头文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19089686/