文件包含是我们一开始学习C语言的时候就用到的使用方式。所谓“文件包含”是指在一个C语言的源程序文件中可以使用文件包含命令将另一个C源程序文件中的内容包含进来。比如大家经常用到的#include<stdio.h>等,就是文件包含。所有的文件保存由#include来完成,其定义格式为:
#include<文件名>或#include”文件名”
这里的文件名指的就是将要包含到我们程序中那个源文件的名字,两种书写格式均能完成文件包含,其主要区别在于查找被包含文件时的搜索路径的不同。如果被包含文件的绝对路径和文件名一起给出,则两种格式都是在绝对路径所指定的目录中去查找被包含文件,此时二者是等价的。如果被包含文件名中没有给出该文件的绝对路径,对于使用双引号的书写方式,将首先在工作当前的工作目录中去查找被包含的文件,如果没有找到,则转到C语言编译环境指定的标准目录中去查找;而对于使用尖括号的书写方式,直接到系统指定的标准目录中去查找被包含文件。
当文件中出现了#include命令时,程序编译时编译器会自动调用预处理器,由预处理器对程序中的文件包含命令进行处理。预处理器首先要根据某一个路径找到被包含的文件,然后用该文件的内容来替换#include命令,这就将一个文件的内容“包含”到了当前的程序中。被包含的文件可以是系统提供的头文件,也可以是用户自己定义的源文件,为了提高预处理程序的搜索效率,通常在包含系统提供的头文件时使用尖括号的书写方式,而在包含用户自己定义的文件时,一般采用双引号的书写方式。
文件包含命令非常有用,它可以节省程序员的重复劳动,提高工作效率。比如在每一次用到输入、输出时都由程序员自己定义输入、输出函数,这是非常烦琐和低效的。现在程序员只需要书写一个#include<stdio.h>命令,预处理时就可以将stdio.h文件中的内容包含到自己的程序中,从而可以直接使用输入、输出函数,极大提高了工作效率。(www.xing528.com)
在编制由多个源文件组成的程序时,也可以将每一个源文件中经常使用到的函数声明、符号常量等独立出来定义成一个包含文件,每一个程序员只需要在自己的程序中使用一个包含命令即可。
【例9-1】用户自定义包含文件。
需要注意的是一个#include命令中只能包含一个文件,如要包含多个文件就要使用多个文件包含命令。如程序中要用到sqrt()、abs()、strcpy()等函数,则可以写成:
这也是我们在编程过程中最经常用到的。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。