本文介紹頭文件的定義、編寫、保存及引用等方面的內(nèi)容,包括了一般的格式要求、例程等。
什么是頭文件?
頭文件在C語言程序開發(fā)中一般來說是必需的,一般在C程序的開頭就得引用頭文件。
頭文件作為一種包含功能函數(shù)、數(shù)據(jù)接口聲明的載體文件,主要用于保存程序的聲明,而定義文件用于保存程序的實現(xiàn)。
為什么要用頭文件?
如果沒有頭文件,那么定義只有就在C文件中進行,有幾個壞處:
->不便于閱讀。定義和功能代碼放在一起,可讀性變差;
->重復勞動,增加程序量。在各個C文件中,只要用到了就得重新定義一下,重復的代碼會變多等。
如需項目開發(fā)定制,可Q-Q: 2531二六3726。
頭文件編寫的一般格式要求是怎樣?

很多東西都有格式的,按照格式來做一般不會出錯。圖 1為頭文件定義的一般結構。
開頭的#ifndef和最后的#endif需要成對出現(xiàn),它的含義為假如沒有定義某文件的話,那么執(zhí)行某些操作。在#ifndef和#endif之間可以編寫頭文件定義的代碼,如載入其他頭文件、引腳定義、子程序預定義等的。
下表給出了圖 1中部分代碼的解釋。
表 1 圖1的要點解釋

一個頭文件編寫的例子

有個例子,會有更加生動的理解。圖 2為一個頭文件定義的例子,頭文件的名字位relaycontrol.h,這個頭文件里包含了載入其他頭文件、引腳定義、符號變量定義、子程序預定義等內(nèi)容。
頭文件的保存方法
保存頭文件一般有2種方法:
(1)、在keil中保存H文件:如例,假如在keil中新建了H文件,編寫完頭文件代碼后,點擊保存按鈕,命名后保存在電腦硬盤(與引用它的C文件在同一個文件夾)里即可,本例中保存的頭文件為relaycontrol.h。
(2)、在電腦里新建一個TXT文件,再改擴展名為.h:在電腦硬盤(與引用它的C文件在同一個文件夾)中新建一個txt文件,寫入頭文件代碼,保存,并改擴展名為.h。本例中將這個txt文件名及擴展名改為relaycontrol.h。
怎么在C程序中引用頭文件?


在C程序中,頭文件需要先引用后才能使用,一般引用頭文件放在程序的開頭位置。
在C文件中引用頭文件的方法很簡單,就是在程序中用“#include”指令把相應的頭文件載入就行了。
引用后,在這個C文件中就能使用頭文件里已經(jīng)定義的內(nèi)容,如定義的引腳、符號變量和子程序等。
是否需要幫助?
提供單片機、PLC、電路板、控制器/箱、儀器儀表、機電設備或系統(tǒng)、自動化、工控、傳感、數(shù)據(jù)采集、自控系統(tǒng)、控制系統(tǒng),軟件、APP開發(fā)設計定制訂做。如有項目需要,可Q:2531二六3726。
-
C語言
+關注
關注
183文章
7646瀏覽量
146123 -
頭文件
+關注
關注
0文章
26瀏覽量
10343
發(fā)布評論請先 登錄
技術資訊 I 一文詳解 STEP 文件
VSCode + ESP-IDF環(huán)境下給ESP32-S3項目添加頭文件
RISC-V GCC編譯,如何添加math.h頭文件?
基于蜂鳥E203添加完外設后軟件頭文件添加過程
頭文件保護失效,提示變量重復包含,是什么原因?qū)е碌模?/a>
RT-thread源碼scons --dist --target=vsc;STM32L475-pandora沒有STM32L4xx.h頭文件是怎么回事?
無法找到已經(jīng)存在的頭文件,為什么?
RTOS SDK的canmv_net_mgmt網(wǎng)絡模塊如何編寫連接代碼?
STM32CUBEIDE使用UCOS的時候,頭文件路徑已經(jīng)添加了,依舊提示未找到路徑怎么解決?
服務器數(shù)據(jù)恢復—ocfs2文件系統(tǒng)被格式化為Ext4文件系統(tǒng)的數(shù)據(jù)恢復案例
什么是頭文件?頭文件編寫的一般格式要求是怎樣?
評論