什么是头文件
在C语言中,头文件主要是一种包含功能函数、数据接口声明的载体文件,主要用于保存程序的声明(declaration),在程序中,后缀名主要是.h,通过#include<头文件.h>或#include "头文件.h"来引用。
头文件的作用
编译过程中的作用
头文件对程序编译执行而言,它仅仅在在预编译时将其内容在#include的地方展开一下。
头文件在代码工程中的作用
头文件的主要作用在于多个代码文件全局变量(函数)的重用、防止定义的冲突,对各个被调用函数给出一个描述,其本身不需要包含程序的逻辑实现代码,它只起描述性作用,用户程序只需要按照头文件中的接口声明来调用相关函数或变量,链接器会从库中寻找相应的实际定义代码。头文件是用户应用程序和函数库之间的桥梁和纽带。在整个软件中,头文件不是最重要的部分,但它是C语言家族中不可缺少的组成部分。编译时,编译器通过头文件找到对应的函数库,进而把已引用函数的实际内容导出来代替原有函数。
头文件的常用形式
明示常量——例如,stdio.h中定义的EOF、NULL和BUFSIZE(标准I/O缓冲区大小)。
宏函数——例如,getc(stdio.h)通常用getchar()定义,而getc()经常用于定义较复杂的宏,头文件ctype.h通常包含ctype系列函数的定义。
函数声明——例如,string.h头文件(一些旧的系统是srings.h)包含字符串函数系列的函数声明。在ANSI C和后面的标准中,函数声明都是函数原型形式。
结构模板定义——标准I/O函数使用FILE结构,该结构中包含了文件和缓冲区相关信息。FILE结构在头文件stdio.h中。
类型定义——标准 I/O函数使用指向FILE的指针为参数。通产stdio.h用#define或typedef把FILE定义为指向结构的指针。类似的,size_t和time_t类型也定义在头文件中。
头文件的后缀
实验证明,将头文件的后缀改成xxx.txt,然后在引用该头文件的地方用#include"xxx.txt",然后编译,链接都很顺利的过去了,由此可知,头文件定义为.h结尾,仅为了提供阅读性。