C語言中的標頭檔案可以自己寫嗎?

2021-07-10 05:24:00 字數 1695 閱讀 3808

一些初學c語言的人,不知道標頭檔案(*.h檔案)原來還可以自己寫的。只知道呼叫系統庫函式時,要使用#i nclude語句將某些標頭檔案包含進去。其實,標頭檔案跟.c檔案一樣,是可以自己寫的。標頭檔案是一種文字檔案,使用文字編輯器將**編寫好之後,以副檔名.h儲存就行了。標頭檔案中一般放一些重複使用的**,例如函式宣告,變數宣告,常數定義,巨集的定義等等。當使用#i nclude語句將標頭檔案引用時,相當於將標頭檔案中所有內容,複製到#i nclude處。為了避免因為重複引用而

導致的編譯錯誤,標頭檔案常具有 #ifndef   label

#define   label

//**部分

#endif

的格式。其中,label為乙個唯一的標號,命名規則跟變數的命名規則一樣。常根據它所在的頭檔名來命名,例如,如果標頭檔案的檔名叫做hardware.h,

那麼可以這樣使用:

#ifndef   __hardware_h__

#define   __hardware_h__

//**部分

#endif

這樣寫的意思就是,如果沒有定義__hardware_h__,則定義__hardware_h__,並編譯下面的**部分,直到遇到#endif。這樣,當重複引用時,由於__hardware_h__

已經被定義,則下面的**部分就不會被編譯了,這樣就避免了重複定義。

另外乙個地方就是使用include時,使用引號與尖括號的意思是不一樣的。使用引號(「」)時,首先搜尋工程檔案所在目錄,然後再搜尋編譯器標頭檔案所在目錄。而使用尖括號(<>)時,剛好是相反的搜尋順序。假設我們有兩個檔名一樣的標頭檔案hardware.h,但內容卻是不一樣的。乙個儲存在編譯器指定的頭檔案目錄下,我們把它叫做檔案i;另乙個則儲存在當前工程的目錄下,我們把它叫做檔案ii。如果我們使用的是#i nclude ,則我們引用到的是檔案i。如果我們使用的是#i nclude 「hardware.h」,則我們引用的將是檔案ii。筆者以前就遇到過乙個同事問,為什麼他修改了那個標頭檔案裡面的內容,好象跟沒有修改一樣?就是因為他有兩個一樣的標頭檔案(就像我們剛描述的那樣),他是使用#i nclude引用的,而他修改時,卻是當前工程所在的目錄下的那個檔案。

我們在編寫c語言或c++語言時,預處理檔案都被表示為#include、#include或#include等等。在這裡的「h」表示的是標頭檔案。那麼是什麼的標頭檔案?標頭檔案又是什麼呢?如若不加上「h」的話,我執行了程式,似乎還是可以執行成功,但加不加「h」到底又有什麼關係? 請詳細回答,謝謝。 #include 語句起的是檔案包含作用。功能是把指定的檔案插入該命令列位置取代該命令列,從而把指定的檔案和當前的源程式檔案連成乙個原始檔。要求這個語句必須在源程式的最前面。

所謂「標頭檔案」,指的是在原始檔頭部引入的檔案,顧名思義,即是標頭檔案。至於標頭檔案本身,則沒有什麼固定格式和固定副檔名。你可以將自己寫的c檔案作為標頭檔案包含進來。

至於副檔名h,則表示是系統提供的頭檔案型別。如果是tc,一般標頭檔案的路徑是:tc/include 。 標頭檔案都是純文字格式,內容多數是函式定義或函式體等。

在呼叫系統函式時,有些是必須要包含進來相應的標頭檔案才可以使用的,如isalpha函式,判斷是否為字母,必須要包含ctype.h標頭檔案。有些則不必,那是因為系統已經預設包含進來了,例如包含printf函式的標頭檔案stdio.h,是系統預設包含的,雖然顯示的包含也沒有任何問題。

另外,對於系統提供的標頭檔案,如ctype.h 如果不寫副檔名的話,系統會找不到這個標頭檔案,而無法實現包含的功能。所以正確的系統.h檔案,是一定要寫上副檔名的。

標頭檔案函式 C語言中的標頭檔案寫哪些內容

在c語言中,標頭檔案是程式各部分之間保證資訊一致性的橋梁,是連線程式物件定義和使用的紐帶。通常開發c程式的程式設計師會把乙個程式分為兩類 定義好標頭檔案是保證大型程式開發工作能夠順利進行的重要環節。比如幾個人共同開發乙個大系統,他們之間需要有一些約定。如果乙個人定義的東西唄另乙個人使用,就需要通過引...

C語言中標頭檔案 你亂嗎????

如果爾等之輩問本大神,為什麼需要標頭檔案呢?本大神告訴你 想要知道為什麼需要標頭檔案的話,你就應該知道c語言編譯的過程 本大神為你們準備了基本知識 c語言檔案的編譯與執行的四個階段並分別描述 c 中的標頭檔案和原始檔 如何寫標頭檔案 這個寫的很好,明白 1.在乙個檔案a中,如果要使用另乙個檔案b裡的...

c語言中的標頭檔案

在系統架構時,常會包含標頭檔案.h和 檔案.c。這幾天閱讀了部分的c 對頭檔案有一些自己的想法,特意寫到了自己的 部落格中,畢竟知識是在於積累的。標頭檔案,在 編譯執行過程中,起到預先編譯的作用,在它裡面都會包含有這些內容。相關資料結構宣告 為增加 的維護性,我們會預先在標頭檔案中,把需要使用的資料...