c語(yǔ)言中什么是頭文件
c語(yǔ)言中什么是頭文件
頭文件是用戶應(yīng)用程序和函數(shù)庫(kù)之間的橋梁和紐帶。在整個(gè)軟件中,頭文件不是最重要的部分,但它是C語(yǔ)言家族中不可缺少的組成部分。做一個(gè)不算很恰當(dāng)?shù)谋扔?,頭文件就像是一本書(shū)中的目錄(只有標(biāo)題不具有具體頁(yè)碼信息),讀者(鏈接器)通過(guò)目錄(頭文件+函數(shù)庫(kù)導(dǎo)出符號(hào)表),可以很方便就查閱其需要的內(nèi)容(函數(shù)庫(kù))。在一本書(shū)中,目錄固然重要,但絕對(duì)不是一本書(shū)的核心的、最重要的部分。
頭文件組成:
C++/C程序的頭文件以“.h”為后綴。以下是假設(shè)名稱為graphics.h的頭文件:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #ifndefGRAPHICS_H//作用:防止graphics.h被重復(fù)引用 #defineGRAPHICS_H #include<....>//引用標(biāo)準(zhǔn)庫(kù)的頭文件 ... #include"..."//引用非標(biāo)準(zhǔn)庫(kù)的頭文件 ... voidFunction1(...);//全局函數(shù)聲明 ... inline();//inline函數(shù)的定義 ... classBox//作用:類結(jié)構(gòu)聲明 { ... }; #endif |
從以上例子可以看出,頭文件一般由四部分內(nèi)容組成:(1)頭文件開(kāi)頭處的版權(quán)和版本聲明;(2)預(yù)處理塊;(3)inline函數(shù)的定義;(4)函數(shù)和類結(jié)構(gòu)聲明等。在頭文件中,用 ifndef/define/endif結(jié)構(gòu)產(chǎn)生預(yù)處理塊,用 #include 格式來(lái)引用庫(kù)的頭文件。頭文件的這種結(jié)構(gòu),是利用C語(yǔ)言進(jìn)行開(kāi)發(fā)軟件所通常具備的,屬于公有知識(shí)。