首页 理论教育C语言程序设计第2版:文件包含命令及使用方法

C语言程序设计第2版:文件包含命令及使用方法

【摘要】:所谓“文件包含”是指一个源文件可以将另一个源文件的全部内容包含到自己的文件中。文件包含命令的一般形式是:#include"文件名"它的作用是用指定文件的全部内容来代替本文件中的这一行。文件包含命令的解释如图6.1所示。在程序中,文件包含是很有用的。为了解决这个问题,可以把它们单独放在一个文件中,其他文件在开头都使用文件包含命令将它们包含进来。文件包含命令中的文件名,除了用双引号外,也可以用尖括号括起来。

所谓“文件包含”是指一个源文件可以将另一个源文件的全部内容包含到自己的文件中。文件包含命令的一般形式是:

#include"文件名"

它的作用是用指定文件的全部内容来代替本文件中的这一行。文件包含命令的解释如图6.1所示。

图6.1 文件包含

在图6.1(a)中,file1中含有命令

#include“file2”

在编译时,预处理程序找到文件file2,然后用file2的全部内容代替命令

#include“file2”

预处理后,file1的情况如图6.1(b)所示。

在程序中,文件包含是很有用的。写程序时,经常要定义一些不带参数的宏(符号常量)和带参数的宏,而一个大程序通常是放在几个文件中,如果每个文件都重新定义这些符号常量和带参数的宏,那是很麻烦的,而且可能带来不一致的错误。为了解决这个问题,可以把它们单独放在一个文件中,其他文件在开头都使用文件包含命令将它们包含进来。例如,源程序中要使用到下列常量:

#define BUFSIZ 512

#define EOF-1

#define NULL 0(www.chuimin.cn)

#define PR printf

#define D"%d"

#define S"%s"

#define TRUE 1

#define FALSE 0

现在把它们放在一个文件中,取名defs.h。如果有一个程序的两个源文件用到这些定义,就可以分别在两个文件的开头写上:

#include“defs.h”

习惯上,我们总是把这些包括宏定义的文件叫做头文件,文件后缀用.h(.h表示header)。实际上,任何一种C语言编译系统都提供了大量的.h文件,其中包含符号常量、带参数的宏定义、库函数的类型说明及系统中固定使用的结构或联合类型的定义(如我们前面用过的stdio.h和math.h)。当然你也可以对任何名字的文件(如.c文件,即C语言源程序文件)使用文件包含命令。

文件包含命令中的文件名,除了用双引号外,也可以用尖括号括起来。例如:

#include<文件名>

两者的区别是:用尖括号括起文件时,系统只在存放C语言库函数头文件所在的目录中寻找要包含的文件,这种方式称为标准方式(在Turbo C中的标准库函数目录为/INCLUDE);而用双引号括起文件时,系统先在当前目录中找,如找不到,再按标准方式查找(即再按尖括号的方式查找)。

一般来说,如果用#include命令只为调用库函数时,一般采用尖括号的方式,以节省查找时间。