1-8-3 引用头文件
以上程序第3行及第4行的“#include”指令,是将函数库引用在编译程序内,未来程序链接后,即可产生正常的可执行文件。以上程序第10行~第12行的printf( )函数属于“stdio.h”头文件,所以第3行“#include stdio.h”将促使可正常使用printf( )函数调用。第4行的“#include stdlib.h”,stdlib.h是标准函数库头文件,将促使可正常使用system( )函数调用,下面章节会介绍更多C语言的函数库,只要此函数是在stdlib.h内定义,就不需使用#include引用该函数的头文件。第13行的system("pause")函数可以冻结窗口,同时促使窗口出现“请按任意键继续…”,此时程序会先暂停,当用户按下键盘上的任意键时,程序将继续往下执行。如果没有system("pause"),屏幕会一闪就结束,我们会看不到执行结果。
stdio.h和stdlib.h为什么又称为头文件(header file)呢?因为它们通常都是在程序开始处被引用,如果你的程序文件如下:
头文件stdio.h如下:
头文件stdlib.h如下:
上述程序在编译时,“#include <stdio.h>”和“#include <stdlib.h>”分别被stdio.h和stdlib.h头文件取代,如下图所示。
我们引用了头文件,读者可能会好奇,这些头文件存放在哪里?其实一般在编译程序文件夹内,通常有一个include文件夹,头文件就存放在此文件夹内。
例如,若将Dev C++安装在C盘,则可在“C:\Dev-Cpp”文件夹内找到include文件夹,头文件就存放在此文件夹内。
其实有些C语言编译程序,对是否在程序开头加上<#include stdio.h>和<#include stdlib.h>并不十分介意,程序仍可正常编译及执行,这是因为编译程序在编译时会自动加载头文件stdio.h和stdlib.h。有些编译程序对未在开头加上<#include stdio.h>和<#include stdlib.h>的程序会出现警告信息,但仍允许编译及执行。笔者建议最好照标准程序设计原则,该引用就引用,这样可确保所设计的程序未来能在所有编译程序上执行。同时,所设计程序的可移植性也大大提高了。