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