C++什么是头文件?.c文件和.h文件

Posted 久病成良医

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++什么是头文件?.c文件和.h文件相关的知识,希望对你有一定的参考价值。

通常,在一个C程序中,只包含两类文件——.c文件和.h文件。

C支持“分别编译”(separate compilation)。也就是说,一个程序所有的内容,可以分成不同的部分分别放在不同的.c文件里。.c文件里的东西都是相对独立的,在编译(compile)时不需要与其他文件互通,只需要在编译成目标文件后再与其他的目标文件做一次链接(link)就行了。

所谓的头文件,其实它的内容跟.c文件中的内容是一样的,都是C的源代码。但头文件不用被编译。我们把所有的函数声明全部放进一个头文件中,当某一个.c源文件需要它们时,它们就可以通过一个宏命令 “#include”包含进这个.c文件中,从而把它们的内容合并到.c文件中去。当.c文件被编译时,这些被包含进去的.h文件的作用便发挥了。

举一个例子吧,假设所有的数学函数只有两个:f1和f2,那么我们把它们的定义放在math.c里:

/* math.c */
double f1()
{
//do something here….
return;
}
double f2(double a)
{
//do something here…
return a * a;
}
/* end of math.c */

并把“这些”函数的声明放在一个头文件math.h中:

/* math.h */
double f1();
double f2(double);
/* end of math.h */

在另一个文件main.c中,我要调用这两个函数,那么就只需要把头文件包含进来:

/* main.c */
include “math.h”
main()
{
int number1 = f1();
int number2 = f2(number1);
}
/* end of main.c */

这样,便是一个完整的程序了。需要注意的是,.h文件不用写在编译器的命令之后,但它必须要在编译器找得到的地方(比如跟main.c在一个目录下)。 main.c和math.c都可以分别通过编译,生成main.o和math.o,然后再把这两个目标文件进行链接,程序就可以运行了。

以上是关于C++什么是头文件?.c文件和.h文件的主要内容,如果未能解决你的问题,请参考以下文章

C++库的头文件到底如何包含的?

在c++语言#include<math.h>当中包含有啥函数

C++中include其他头文件时何时应放在.h文件中,何时应放在.cpp文件中?

C/C++的String常用函数介绍

(1.21)思考题

fstream.h是啥意思?又啥作用啊?