1樓:小夏在深圳
標頭檔案是副檔名為 .h 的檔案,包含了 c 函式宣告和巨集定義,被多個原始檔中引用共享。有兩種型別的標頭檔案,程式設計師編寫的標頭檔案和編譯器自帶的標頭檔案。
在程式中要使用標頭檔案,需要使用 c 預處理指令 #include 來引用它。前面我們已經看過 stdio.h 標頭檔案,它是編譯器自帶的標頭檔案。
引用標頭檔案相當於複製標頭檔案的內容,但是我們不會直接在原始檔中複製標頭檔案的內容,因為這麼做很容易出錯,特別在程式是由多個原始檔組成的時候。
在c語言中,標頭檔案是程式各部分之間保證資訊一致性的橋樑,是連線程式物件定義和使用的紐帶。
擴充套件資料
1、如果一個標頭檔案被引用兩次,編譯器會處理兩次標頭檔案的內容,這將產生錯誤。為了防止這種情況,標準的做法是把檔案的整個內容放在條件編譯語句中。
2、有時需要從多個不同的標頭檔案中選擇一個引用到程式中。例如,需要指定在不同的作業系統上使用的配置引數。
2樓:
c語言中,標頭檔案的副檔名是.h
在c語言家族程式中,標頭檔案被大量使用。一般而言,每個c++/c程式通常由標頭檔案和定義檔案組成。標頭檔案作為一種包含功能函式、資料介面宣告的載體檔案,主要用於儲存程式的宣告,而定義檔案用於儲存程式的實現。
標頭檔案的主要作用在於多個**檔案全域性變數(函式)的重用、防止定義的衝突,對各個被呼叫函式給出一個描述,其本身不需要包含程式的邏輯實現**,它只起描述性作用,使用者程式只需要按照標頭檔案中的介面宣告來呼叫相關函式或變數,連結器會從庫中尋找相應的實際定義**。
擴充套件資料
標頭檔案的用途
對於具有外部儲存型別的識別符號,可以在其他任何一個源程式檔案中經宣告後引用,此使用者完全可以將一些具有外部儲存型別的識別符號的宣告放在一個標頭檔案中。
具體地說,標頭檔案中可以包括:使用者構造的資料型別(如列舉型別),外部變數,外部函式、常量和行內函數等具有一定通用性或常用的量。而一般性的變數和函式定義不宜放在標頭檔案中。
例如:#include中的標頭檔案stdio.h作用是讓連結器通過標頭檔案裡的函式宣告找到函式實際**所在的位置即所在的庫檔案,這樣才能使用該函式的實際**,函式的實際**的實現過程是先讓連結器通過標頭檔案裡函式的宣告找到函式實際**所在的位置即所在的庫檔案。
再通過#include語句把連結器所找到的函式實際**用連結器把函式的實際**連結到當前檔案即所要執行的程式中。
3樓:
副檔名自然是h;
呼叫標準庫的檔案用<>,如#include ;
載入自己的檔案用"",如#include "test.h";當然標準庫呼叫也可以用"";區別是""先在當前工程目錄下查詢,找不到再到標準庫中查詢。
4樓:
.h (head)
c 與 c++的標頭檔案是一樣的
5樓:
標頭檔案就是head(頭)的縮寫.h
在c語言中,標頭檔案的作用是什麼?
6樓:最紳士的痞子灬
1、加強型別檢查,提高**得型別安全性。 在c++中使用標頭檔案,對自定義型別的安全也是非常重要的。雖然,在語法上,同一個資料型別(如一個class)在不同的原始檔中書寫多次是允許的,程式設計師認為他們是同一個自定義型別。
2、減少**的重複書寫,提高編寫和修改程式的效率。 在程式開發的過程中,對某些資料型別或者介面進行修改是難免的,使用標頭檔案,只需要修改標頭檔案中的內容,就可以保證修改在所有原始檔中生肖,從而避免了繁瑣易錯的重複修改。
3、提供保密和**重用的手段。 標頭檔案也是c++**蟲蛹即只中不可缺少的一種手段,在很多場合,源**不便(或不準)向使用者公佈,只要向使用者提供標頭檔案和二進位制的庫即可。使用者只需要按照標頭檔案的介面宣告來呼叫庫功能,而不必關心介面是怎麼實現的,編譯器會從庫中提取相應的**。
4、設立標頭檔案的目的主要是:提供全域性變數、全域性函式的宣告或提供公用資料型別的定義,從而實現分離變異或**複用。
5、標頭檔案一般由四部分內容組成:
(1)標頭檔案開頭處的版權和版本宣告。
(2)預處理塊。
(3)inline函式的定義。
(4)函式和類結構宣告。
7樓:傑青的日子
對於系統提供的標頭檔案,既可以用尖括號形式,也可以用雙撇號形式,都能找到被包含的檔案,但顯然用尖括號形式更直截了當,效率更高。
不同的標頭檔案包括以上不同的資訊,提供給程式設計者使用,這樣,程式設計者不需自己重複書寫這些資訊,只需用一行#include命令就把這些資訊包含到本檔案了,大大地提高了程式設計效率。由於有了#include命令,就把不同的檔案組合在一起,形成一個檔案。因此說,標頭檔案是原始檔之間的介面。
標頭檔案一般包含以下幾類內容:
對型別的宣告。
函式宣告。
內建(inline)函式的定義。
巨集定義。用#define定義的符號常量和用const宣告的常變數。
全域性變數定義。
外部變數宣告。如entern int a;
還可以根據需要包含其他標頭檔案。
更多詳細內容,請點選連線
8樓:0號衝擊波
比如#include在編譯時會把stdio.h這個檔案的內容替換掉#include目的是為了程式設計時方便吧,你也可以自己編寫標頭檔案。這樣你只要把它包函在這個**就行了,這樣很方便、
9樓:匿名使用者
標頭檔案的作用其實就是相當於一個尋找指定檔案的作用吧, 它指向的是c語言的一個函式檔案! 比如
#include 指向的就是這個檔案 意思是接下來要編寫的程式要用到此檔案裡的函式! 而此檔案裡的函式有:輸入函式和輸出函式!
10樓:匿名使用者
你使用的函式就在標頭檔案指定的檔案裡
你寫了這個標頭檔案 才能使用裡面的函式
比如:sthio.h 就包含 printf()math.h 包含 sqrt()
11樓:匿名使用者
兄弟,對於標頭檔案,有以下幾個好處,你可以參考下1,標頭檔案可以定義所用的函式列表,方便查閱你可以呼叫的函式;
2,標頭檔案可以定義很多巨集定義,就是一些全域性靜態變數的定義,在這樣的情況下,只要修改標頭檔案的內容,程式就可以做相應的修改,不用親自跑到繁瑣的**內去搜尋。
3,標頭檔案只是宣告,不佔記憶體空間,要知道其執行過程,要看你標頭檔案所申明的函式是在哪個.c檔案裡定義的,才知道。
4,他並不是c自帶的,可以不用。
5,呼叫了標頭檔案,就等於賦予了呼叫某些函式的許可權,如果你要算一個數的n次方,就要呼叫pow()函式,而這個函式是定義在math.c裡面的,要用這個函式,就必需呼叫math.h這個標頭檔案。
兄弟,祝你好運
c語言中如何編譯標頭檔案啊
12樓:匿名使用者
只要在程式開頭加入#include《標頭檔案名》,在編譯過程當中,標頭檔案自動會被新增到原始檔當中一起進行編譯。
編譯,編譯程式讀取源程式(字元流),對之進行詞法和語法的分析,將高階語言指令轉換為功能等效的彙編**,再由彙編程式轉換為機器語言,並且按照作業系統對可執行檔案格式的要求連結生成可執行程式。
c源程式標頭檔案-->預編譯處理(cpp)-->編譯程式本身-->優化程式-->彙編程式-->連結程式-->可執行檔案。
13樓:匿名使用者
。以vc++7.0為例,首先要確保你的自定義的標頭檔案被包含在專案(或工程)裡,如果沒有,就在原始檔檢視中右擊「標頭檔案」,單擊新增,把自定義的標頭檔案新增進去。
隨後,在原始檔中加入如下的一行**:
#include"自定義標頭檔案名"即可。
不要#include<>,那個<>是用來包含標準的標頭檔案的,對於用<>包含的標頭檔案,系統會在系統路徑中查詢標頭檔案,自定義的標頭檔案應該用""來括起來,這樣編譯器就會在使用者目錄中搜尋這個標頭檔案,即要用#include"",而非#include<>
在c語言中,如何自定義標頭檔案
14樓:杜哥是個小天才
自定義標頭檔案通常放在使用該標頭檔案的原始檔所在的目錄中,並使用#include "myhead.h"來包含。
標頭檔案是不編譯的,因為c語言編譯過程之前有個預編譯過程。在這個過程中用標頭檔案中的內容替換原始檔中「#include」命令,所以在編譯器看來,沒有標頭檔案,只有原始檔。預編譯過程還包括條件編譯。
標頭檔案為了防止被重複包含,通常的格式是:
/* myhead.h */
#ifndef _myhead_h_
#define _myhead_h_
(這裡是標頭檔案的內容)
#endif /* _myhead_h_ */
拓展資料
c語言是一門通用計算機程式語言,應用廣泛。c語言的設計目標是提供一種能以簡易的方式編譯、處理低階儲存器、產生少量的機器碼以及不需要任何執行環境支援便能執行的程式語言。
儘管c語言提供了許多低階處理的功能,但仍然保持著良好跨平臺的特性,以一個標準規格寫出的c語言程式可在許多電腦平臺上進行編譯,甚至包含一些嵌入式處理器(微控制器或稱mcu)以及超級電腦等作業平臺。
15樓:匿名使用者
其實,寫標頭檔案非常簡單,無非就是寫一些函式、定義一些巨集等等手頭在源程式裡完成的事,寫程式時可以直接呼叫。
例:void max1(int a,int b)
以上內容可以儲存為maths.h,儲存方法很簡單,無非就是副檔名更改,很多ide都支援儲存.h標頭檔案,在「儲存」對話方塊中的「檔案型別」裡改改即可。
至於呼叫也很簡單,只需把標頭檔案和源程式放在同一個資料夾裡,呼叫時要注意一下:
例:#include "maths.h"
呼叫時需用引號括起檔名,不可以用尖括號。
如果嫌麻煩,可以將標頭檔案複製到編譯器使用的庫資料夾裡(一般命名為include,裡面全都是標頭檔案),再使用include,這時便可以使用尖括號。
尖括號與雙引號的區別:尖括號表示直接在庫中查詢標頭檔案進行編譯,雙引號表示先在放置源程式的資料夾裡查詢標頭檔案,再去庫裡找。
16樓:匿名使用者
這是標頭檔案
void hello(void)
printf("hello world\n");
這是c程式
#include
#include "test.h"
int main()
hello();
return 0;
兩檔案放於一個資料夾下,程式就會返回 hello world或者參考此**示例
/* file add.h */
#ifndef add_h
#define add_h
int add(int, int);
#endif /* add_h */
/* file triple.c */
#include "add.h"
int triple(int x)
具體請參考:網頁連結
c語言中標頭檔案的作用,在C語言中,標頭檔案的作用是什麼?
標頭檔案?你是說main 主函式啊 還是 資料庫函式啊?main 必須得!是下例函式要用到的 資料庫 不如你呼叫字串 那麼就得事先開資料庫函式庫 主要是給你程式設計提供方便,提供了一些底層的庫函式,封裝了作業系統上的操作介面 include 設定插入點 include 字元處理 include 定義...
c語言中標頭檔案ltstdiohgt中的
如果沒定義 stdio h 就編譯以下部分直到條件編譯結束 ifndef stdio h define stdio h endif 防止重複定義 ifndef是預處理,寫給編譯器看的,告訴它編譯的注意事項 ifndef就是if not defined 條件編譯作用 include指令使得包含的檔案內...
c語言中,標頭檔案define是什麼意思
define是指巨集替換,原樣替換 typedef 相當於重定義 typedef intstr stri 0 這樣可以。但是這裡的typedef不能換成define還有define a4 5 a a 4 5 4 5 原樣替換 define a 4 5 a a 4 5 4 5 定義的意思,比如 def...