7.8.2 文件包含——#include
使用#include命令进行文件包含的处理,即将指定文件的内容嵌入到另一个源程序文件中。其一般形式为
#include “文件名”
或
#include <文件名>
为了使编写的程序清晰易读,通常可以将符号常量和宏定义编写为单独的文件,也可以将外部变量和复杂数据类型的定义编写为单独的文件。这些文件通常称为“标题文件”或“头文件”,并以.h作为后缀。
预处理程序将被包含文件的内容取代源文件中#include命令。其一般形式如图7.8.1所示。
图7.8.1 包含文件示意图
被包含的文件,必须指定该文件的路径和文件名,放在双引号内。系统先在引用包含文件的源文件所在的目录中查寻,若找不到,再按系统指定的标准方式向外查找;如果已经知道被包含文件不在当前工作目录,可以使用尖括号包括被包含文件的路径和文件名。如果使用的是标准目录中的头文件,应该使用尖括号方式。
例如,假设用户当前目录user中有一个表示字型表的头文件font.h。C编译器的标准目录INCLUDE中也有一个同名的系统设置的字型表文件font.h。当用户程序需要使用自己编写的font.h文件时,应使用
#include “font.h”
如果使用
#include <font.h>
C编译器将系统设置的font.h文件嵌入用户程序,而不是用户需要的font.h文件,因此,从使用角度,在包含文件中使用双引号比使用尖括号更可靠。
一个#include预处理命令只能指定一个被包含文件,如果要包含N个文件,需要用N 个#include预处理命令行。
#include命令可以嵌套使用,即该预处理命令可以出现在由另一个#include指定的文件中。
一个图形软件的包含文件有:
#include <stdio.h>
#include <dos.h>
#include <conio.h>
#include <malloc.h>
#include <process.h>
#include <string.h>
#include <memory.h>
#include <math.h>
#include “graphics.h”
#include “file.h”
#include “screen.h”
#include “locator.h”
#include “declares.h”
#include “font.h”
其中,用尖括号括起的被包含文件全部是标准库函数的“.h”文件;用双引号括起的被包含文件是该图形软件说明的与图形、文件、显示屏幕、定位、字型等处理有关的“.h”文件,它们包含了使用的常量、宏、外部变量及复杂数据类型的说明。例如,在前面列举的显示器使用的8种颜色的宏定义就包含在screen.h中。在编译时,预处理程序将各个.h文件嵌入指定的位置,对图形软件说明的.h文件在源程序所在目录中查找,对标准库函数的.h文件在标准目录中查找。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。