什么是頭文件
在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結尾,僅為了提供閱讀性。