首页 理论教育 一条#include命令包含一个头文件

一条#include命令包含一个头文件

时间:2023-10-29 理论教育 版权反馈
【摘要】:一条#include只能包含一个头文件,如果要包含多个头文件则须使用多条#include命令。文件包含允许嵌套,即在一个被包含的文件中又可以包含另一个文件。一般情况下文件包含分为两种:包含.h文件和包含.c文件。文件包含的应用。file1.c中使用了文件包含预处理命令,其作用相当于将file2.c的内容复制过来,当编译器将这条命令处理完毕后,呈现在编译器面前的是如下程序,即在编译时,相当于直接去编译新的file1.c文件,从而编译生成一个目标文件file1.obj。

一条#include命令包含一个头文件

(1)文件包含的处理方法。

①处理时间:文件包含是以"#"开头,也就是说它是在编译预处理阶段进行处理的。

②处理方法:在预处理阶段,系统自动对#include命令进行处理,具体做法是:将包含文件的内容复制到包含语句(#include)处,得到新的文件,然后再对这个新的文件进行编译。

(2)一条#include只能包含一个头文件,如果要包含多个头文件则须使用多条#include命令。

(3)文件包含允许嵌套,即在一个被包含的文件中又可以包含另一个文件。

(4)一般情况下文件包含分为两种:包含.h文件和包含.c文件。包含.c文件和编译多文件程序是不同的。多文件程序是在源文件编译时把多个文件进行编译、连接在一起生成一个可执行文件。而包含.c文件是把多个文件合并为一个文件进行编译的。

【例11.3】文件包含的应用。

程序内容如下:

算法一:

1 //file1.c

2 #include"file2.c"

3 #include<stdio.h>

4 int main()

5 {

6  int i,sum=0;

7  for(i=1;i<=100;i++)

8   sum=sum+f(i);

9  printf("The sum is%d",sum);

10  return 0;

11 }

12 //file2.c

13 int f(x)

14 {

15  int x;

16  return(x*2);(www.xing528.com)

17 }

算法二:

1 //file1.c

2 #include<stdio.h>

3 int f(x)

4 {

5  int x;

6  return(x*2);

7 }

8 int main()

9 {

10  int i,sum=0;

11  for(i=1;i<=100;i++)

12   sum=sum+f(i);

13  printf("The sum is%d",sum);

14  return 0;

15 }

程序结果如图11.5所示:

图11.5 例11.3程序结果图

【例题中关键问题说明】

(1)本例是采用包含.c文件的方法实现的。

(2)file1.c中使用了文件包含预处理命令,其作用相当于将file2.c的内容复制过来,当编译器将这条命令处理完毕后,呈现在编译器面前的是如下程序,即在编译时,相当于直接去编译新的file1.c文件,从而编译生成一个目标文件file1.obj。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈