发布日期:2015-12-30 14:44 来源: 标签: 编程语言 C教程 C语言编译预处理 C语言文件包含
文件包含命令的功能是把指定的文件插入该命令行位置,从而把指定的文件和当前的源程序文件连成一个源文件。下面我们就做一下具体讲解,希望大家多多支持中国站长网络学院。
文件包含命令格式如下:
  #include <文件名>
或者
  #include "文件名"
其中,include是关键字,文件名是指被包含的文件全名。在前面我们已多次用此命令包含过库函数的头文件。例如:"#include "stdio.h""。
文件包含命令的功能是把指定的文件插入该命令行位置,从而把指定的文件和当前的源程序文件连成一个源文件。在C++的程序设计中,文件包含命令用得很多。我们常将符号常量、类及其它类型的定义放到一个.h文件中(即文件扩展名为h的文件,称之为头文件)。在其它文件的开头用包含命令包含该头文件,这样就可以减少重复劳动,节省时间,并减少出错的可能性。头文件可以是自己编写的,也可以是系统提供的。例如,前面程序中已出现的iostream.h便是一个系统提供的、有关输入输出操作信息的头文件。
上面我们看到,文件包含命令的格式有两种,一种将文件名以尖括号(< >)括起,另一种是将文件名以双引号("")括起。这两种格式的用法略有区别:使用前一种格式,在编译的时候将会在指定的目录下查找此头文件,而使用后一种格式,在编译的时侯会首先在当前的源文件目录中查找该头文件,若找不到才会到系统的指定目录下去查找。
在定义和使用文件包含时还应注意以下几点:
(1)一条文件包含命令只能包含一个文件,若想包含多个文件须用多条文件包含命令。例如:
  #include<iostream.h>
  #include<stdio.h>
  …
(2)文件包含命令可以嵌套使用,即在一个被包含的文件中可以包含另一个文件。例如,定义一个头文件,其名字为headfilel.h,该文件内容如下:
  #include "headfile2.h"
  #include "headfile3.h"
  …
这里即嵌套使用了文件包含命令。
文件包含是指一个源文件可以将另外一个源文件的全部内容包含进来,即将另外的文件包含到本文件之中。
下图是一个文件包含的例子:

图表示了"文件包含"的含意,在file1.c中有一个#include "file2.c"的命令,该文件中的其它内容用A表示,file2.c的文件内容用B表示。在编译预处理的时候,需要对#include命令进行处理,即将file2.c的全部内容复制、插入到#include "file2.c"命令处,也即file2.c被包含到file1.c中,得到的结果如下图所示:

file1.c将作为一个整体的源文件单位进行编译。
"文件包含"命令在C++程序中经常可以见到,它可以节省程序设计人员的重复劳动。例如,我们在编写一个程序解决物理问题的时候,经常会碰到一些固定的符号常量(如g=9.8,pi=3.1415928,c=300000000,…),可以将这些常量用宏来定义,并把这些宏定义命令放在一个文件中。编写程序时,可以用#include命令将该文件包含到程序中来。
当一个文件file.c包含头文件headfile1.h,而headfile1.h又用到了headfile2.h和headfile3.h的内容,这时应注意不要在file.c文件中,把这三个文件.h同时包含进来:
headfile2.h

如果在file.c文件中用三个include命令分别包含headfile2.h、headfile3.h和headfile1.h:
  #include "headfile2.h"
  #include "headfile3.h"
  #include "headfile1.h"
则headfile2.h、headfile3.h文件中必须有条件编译命令,否则file.c文件会出现编译错误。

相关评论

专题信息
    C语言是一种计算机程序设计语言。它既有高级语言的特点,又具有汇编语言的特点。它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。C语言对操作系统和系统使用程序以及需要对硬件进行操作的场合,用C语言明显优于其它解释型高级语言,有一些大型应用软件也是用C语言编写的。 C语言具有绘图能力强,可移植性,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画。它是数值计算的高级语言。C语言是一种结构化语言。它层次清晰,便于按模块化方式组织程序,易于调试和维护。