头文件(。h)文件和实现文件并没有本质区别 只是编译器的实现有区别
头文件作用
1,引进头文件的作用主要是为外部提供接口,只给出类或函数的声明,方便类的使用者调用
2,头文件可以方便程序员编写程序,不必担心函数或类得声明顺序
如下例子:
//a.h 头文件
void foo();
//b.c
#include "a.h" //我的问题出来了:这句话是要,还是不要?
void foo()
{
return;
}
//main.c
#include "a.h"
int main(int argc, char *argv[])
{
foo();
return 0;
}
在编译过程中 #include“a.h”将完全被它的内容取代,取代后的文件如下
//main.c
void foo();//被取代后
int main(int argc, char *argv[])
{
foo();
return 0;
}
同样也可以将程序改写,使其不包含a.h的文件,编译同样正确
改变后程序如下:
//b.c
void foo()
{
return;
}
//main.c
void foo();
int main(int argc, char *argv[])
{
foo();
return 0;
}
两个。c文件生成的目标文件(.obj) 将自动实现连接,而不依靠头文件(.h) 来实现
参考位置:
http://wenku.baidu.com/view/49b4964e852458fb770b5665.html