在学习C/C++的时候,我们会很熟练的写出#include””,然后再引号中加入需要的头文件,大家也知道这叫做头文件,可是大家正的思考过为什么是头文件吗?今天Xushine研究院就和大家讨论下关于头文件的问题~
其实我们在写C/C++程序的时候,本质上只是需要*.C或者*.CPP(*为通配符)文件就可以.
C/C++头文件其实是一个以“.h”为后缀的文本文件,#include这个预编译命令会把这个文本文件中的内容插入到这个指令的位置,相当于把头文件中的代码拷贝到CPP文件中调用该预编译指令的位置.
介绍完了头文件~但是为什么用到头文件呢?因为代码在编译过程中,一个c++的程序中如果要调用或使用另外一个模块中的函数或其它符号,就必须先写这个函数或符号的声明.
示例:
void A();
void B()
{
A();
}
void A()
{

}
B要调用A,你们在B之前就必须先有A的声明,有了这个A的声明,无论A的定义在哪,B都能被编译通过了.只要链接时能在所有模块中找到这个A,你们程序就能链接成功,执行了.
正因为有了关系,所以我们一般为一个CPP中的所有函数都写一个声明在对应的H文件中,这样,其他C++程序只要包含了这个H文件,就有了这个CPP中所有函数或符号的声明,就可以使用这个CPP中实现的函数或定义的符号了.没有头文件,程序也是完全可以的,只是你每次调用其他CPP中的函数时,都得自己在CPP中再写一遍你要调用的函数的声明。
最后我们在来总结一下下~
头文件就是一个代码文本,放一些声明,让其他源代码文件来包含的.因为会被多个CPP包含,所以当你把定义放到头文件中时,如果有两个或以上地方包含了这个头文件,那么这个定义就也会有多份(因为预处理指令#include 做的是完全的代码拷贝),就会出现重复定义的错误。

评论被关闭。