1樓:匿名使用者
標頭檔案的作用有三:
一者,c\c++採用原始檔單獨編譯為object檔案,最後有連結器連結object檔案成為可執行檔案。標頭檔案解決了彼原始檔中變數和函式在此原始檔中引用。
二者,標頭檔案中的函式介面和全域性變數起佔位符的作用和引數型別與表示式匹配的合法行檢測的作用,早期的c編譯器不具有後者的功能。
三者,便於一二進位制的形式發行類庫,因此原始碼實現的細節。
2樓:匿名使用者
1、每個c/c++程式通常分為兩個檔案。一個檔案用於儲存程式的宣告(declaration),稱為標頭檔案。另一個檔案用於儲存程式的實現(implementation),稱為定義(definition)檔案。
2、c++/c程式的標頭檔案以“.h”為字尾,c程式的定義檔案以“.c”為字尾,c++程式的定義檔案通常以“.
cpp”為字尾(也有一些系統以“.cc”或“.cxx”為字尾)。
3、標頭檔案由三部分內容組成:
(1)標頭檔案開頭處的版權和版本宣告。
(2)預處理塊。
(3)函式和類結構宣告等。
4、標頭檔案的作用
(1)通過標頭檔案來呼叫庫功能。在很多場合,源**不便(或不準)向使用者公佈,只要向使用者提供標頭檔案和二進位制的庫即可。使用者只需要按照標頭檔案中的介面宣告來呼叫庫功能,而不必關心介面怎麼實現的。
編譯器會從庫中提取相應的**。
(2)標頭檔案能加強型別安全檢查。如果某個介面被實現或被使用時,其方式與標頭檔案中的宣告不一致,編譯器就會指出錯誤,這一簡單的規則能大大減輕程式設計師除錯、改錯的負擔。
3樓:骷髏教官
系統的標頭檔案裡都有說明的啊
4樓:匿名使用者
。。。標頭檔案裡基本都是宣告,沒有什麼具體的東西,庫才是它的實體,把庫加到工程吧
c++中什麼是標頭檔案,用來幹嘛的?
5樓:哎呀
最簡單粗暴的理解就是:將別的檔案中的**插入指定位置。
1、最通俗的理解,標頭檔案就是將別的檔案裡的**插入到程式設計**中的一種方式。它使用#include指令,比如“include "abcd.h"”這個指令告訴編譯器,我這兒要加入一些**,這些**在一個叫"abcd.
h"的檔案中,將這個檔案的內容直接全部插入到這一代所在位置就好。一般習慣於用.h或.
hpp作為這類檔案的副檔名。
2、這個功能的最主要的作用是,將一些現成的,固有的定義、函式、**、引用等等引入到你的程式設計中來,你就不需要再進行這樣一些重複的工作了。
3、在c++程式設計環境中,最典型的vc、bcb、tc……中,都必須以這樣的將程式設計環境固有的一些函式、變數定義、引用等進行“預準備”否則一般級別的人就無法進行常規的程式設計,因為沒有現成可用的函式、定義等。
4、高階別的有特殊需要的程式設計者可以自已編寫相關的定義、函式,也可以修正修改環境固有的這類東西,這也正是c++強大的一個特點,同時也是它的麻煩所在(初學者常常不知道要引用哪些標頭檔案)。
5、從事c++程式設計工作的人,自已編寫的,認為常常要用到的一些函式,或定義,或習慣,也可以自已做成一個標頭檔案,在程式設計中引用,這樣可以減少很大的不必要的重複工作量。
6樓:扈懷煒
標頭檔案就是包含在c++程式中的別人寫好的一些東西,裡面包含一些函式和一些特定的功能,
比如一般使用的cout<< cin>> endl 等這些東西都包含在iostream裡,
sqrt,sin, cos等數學相關的函式都包含在cmath裡。
7樓:
c++中的標頭檔案一般都是以.h或者.hpp為格式的。
主要用來宣告一些跨檔案使用的變數名和類的定義。這樣便於其他檔案的呼叫。
朋友,請【採納答案】,您的採納是我答題的動力,如果沒有明白,請追問。謝謝。
c語言標頭檔案的作用
8樓:最紳士的痞子灬
1、加強型別檢查,提高**得型別安全性。 在c++中使用標頭檔案,對自定義型別的安全也是非常重要的。雖然,在語法上,同一個資料型別(如一個class)在不同的原始檔中書寫多次是允許的,程式設計師認為他們是同一個自定義型別。
2、減少**的重複書寫,提高編寫和修改程式的效率。 在程式開發的過程中,對某些資料型別或者介面進行修改是難免的,使用標頭檔案,只需要修改標頭檔案中的內容,就可以保證修改在所有原始檔中生肖,從而避免了繁瑣易錯的重複修改。
3、提供保密和**重用的手段。 標頭檔案也是c++**蟲蛹即只中不可缺少的一種手段,在很多場合,源**不便(或不準)向使用者公佈,只要向使用者提供標頭檔案和二進位制的庫即可。使用者只需要按照標頭檔案的介面宣告來呼叫庫功能,而不必關心介面是怎麼實現的,編譯器會從庫中提取相應的**。
4、設立標頭檔案的目的主要是:提供全域性變數、全域性函式的宣告或提供公用資料型別的定義,從而實現分離變異或**複用。
5、標頭檔案一般由四部分內容組成:
(1)標頭檔案開頭處的版權和版本宣告。
(2)預處理塊。
(3)inline函式的定義。
(4)函式和類結構宣告。
9樓:傑青的日子
對於系統提供的標頭檔案,既可以用尖括號形式,也可以用雙撇號形式,都能找到被包含的檔案,但顯然用尖括號形式更直截了當,效率更高。
不同的標頭檔案包括以上不同的資訊,提供給程式設計者使用,這樣,程式設計者不需自己重複書寫這些資訊,只需用一行#include命令就把這些資訊包含到本檔案了,大大地提高了程式設計效率。由於有了#include命令,就把不同的檔案組合在一起,形成一個檔案。因此說,標頭檔案是原始檔之間的介面。
標頭檔案一般包含以下幾類內容:
對型別的宣告。
函式宣告。
內建(inline)函式的定義。
巨集定義。用#define定義的符號常量和用const宣告的常變數。
全域性變數定義。
外部變數宣告。如entern int a;
還可以根據需要包含其他標頭檔案。
更多詳細內容,請點選連線
10樓:匿名使用者
#include
#include
main()
這裡的include 稱為檔案包含命令,其意義是把尖括號<>或引號""
內指定的檔案包含到本程式來,成為本程式的一部分。被包含的檔案通常是由系統提供的,其副檔名為.h。
因此也稱為標頭檔案或首部檔案。c語言的標頭檔案中包括了各個標準庫函式的函式原型。因此,凡是在程式中呼叫一個庫函式時,都必須包含該函式原型所在的標頭檔案。
在本例中,使用了三個庫函式:輸入函式scanf,正弦函式sin,輸出函式printf。sin 函式是數學函式,其標頭檔案為math.
h 檔案,因此在程式的主函式前用include命令包含了math.h。scanf 和printf 是標準輸入輸出函式,其標頭檔案為stdio.
h,在主函式前也用include 命令包含了stdio.h 檔案。
具體標頭檔案的說明請看下面的**:
11樓:
標頭檔案作為一種包含功能函式、資料介面宣告的載體檔案,用於儲存程式的宣告(declaration),而定義檔案用於儲存程式的實現 (implementation)。
12樓:匿名使用者
就是程式要執行起來需要的檔案都整合在一起,可以這麼理解
13樓:匿名使用者
標頭檔案的作用其實就是相當於一個尋找指定檔案的作用吧, 它指向的是c語言的一個函式檔案! 比如
#include 指向的就是這個檔案 意思是接下來要編寫的程式要用到此檔案裡的函式! 而此檔案裡的函式有:輸入函式和輸出函式!
c++標頭檔案中#define的作用
14樓:匿名使用者
巨集定義 簡單的字元替換 在 編譯前做的替換#define three 3
int a = three;
在送編譯時 替換為 int a = 3;
#define power(x) x * xint a = power(10)
在送編譯時 替換為 10 * 10
注意 若為 power(5 + 3) 則替換為 5 + 3 * 5 + 3
所以巨集只是簡單的文字替換
*linklist 在typedef 的作用下 是lnode 的指標型別
也就是說申明lnode 指標的時候你可以用linklist p = 0;//等價於 lnode* p = 0;
new 動態分配記憶體空間
15樓:匿名使用者
正常情況下所有的標頭檔案都是
#ifndef ....
#define
//標頭檔案中的內容
#endif
上面的結構是為了不使標頭檔案出現重複包含.
另一種 :
如 #define maxnum 500
#define abs(x) ((x)>0 ? (x) : -(x)是巨集.
你說的linklist是lnode的指標,而&l是linklist的引用,目的是把程式中分配的lnode返回。
new就是c中的malloc,動態分配一個lnode
16樓:匿名使用者
c++中一般不用#define來定義常量或者函式
我覺得唯一用到的地方是在防止標頭檔案重複包含的時候#ifndef...#define...#endif
你下面問的*linklist是一個lnode結構的別名,同樣可以用他來建立一個lnode結構物件.
c++裡最好把結構,類什麼的都看成物件.
linklist &l,這裡就不難理解了吧,linklist 是物件型別(一個lnode的指標),&l是引數名(等於 &(*lnode) ).
l = new lnode;
new是c++的內建方法,用來開闢記憶體空間.這裡就是為l分配一個lnode結構那麼大的記憶體空間.
17樓:可以叫我表哥
#define命令是c語言中的一個巨集定義命令,它用來將一個識別符號定義為一個字串,該識別符號被稱為巨集名,被定義的字串稱為替換文字。
該命令有兩種格式:一種是簡單的巨集定義,另一種是帶引數的巨集定義。
(1) 簡單的巨集定義:
#define 《巨集名》 《字串》
例: #define pi 3.1415926(2) 帶引數的巨集定義
#define 《巨集名》 ( 《參數列》) 《巨集體》
例: #define a(x) x
18樓:匿名使用者
第一個問題:
#define是定義
巨集,樓上說避免使用是什麼意思,你如果說goto避免使用我很贊同,但是定義巨集是個很正常的使用啊。
第2個問題:
*linklist 指標型別,在這裡linklist就想int已經成為一個型別了,&l就是一種引用傳參,保證傳過去的是地址。
new就是開闢記憶體空間,比如 linklist l 只是定義了一個指標型的變數l,但是指標如果要使用必須要開闢記憶體空間,所以還要加上 l = new lnode();
還有不明白的m我。
c語言中標頭檔案的作用,在C語言中,標頭檔案的作用是什麼?
標頭檔案?你是說main 主函式啊 還是 資料庫函式啊?main 必須得!是下例函式要用到的 資料庫 不如你呼叫字串 那麼就得事先開資料庫函式庫 主要是給你程式設計提供方便,提供了一些底層的庫函式,封裝了作業系統上的操作介面 include 設定插入點 include 字元處理 include 定義...
c語言中的標頭檔案是什麼概念,c語言標頭檔案的是幹什麼用的?
標頭檔案是你程式中需要用到東西,如需要某個數學函式,則必須包括數學相關標頭檔案,如math.h,當然,也可以自己寫函式,只要你不怕麻煩!標頭檔案是你程式中需要用到東西,如需要某個數學函式,則必須包括數學相關標頭檔案,如math.h,當然,也可以自己寫函式,只要你不怕麻煩!標頭檔案就是在你所編制的程式...
c語言寫標頭檔案定義巨集的問題,C語言寫標頭檔案定義巨集的問題
兔子和小強 ifndef a h define a h endif 就是如果沒有定義a h那麼就定義a h,並執行.這樣就避免了重複include的問題。標頭檔案叫file 那麼一般 ifndef file h 這是c的風格,也可以取一個唯一的其他識別符號 預編譯 內的防止重複編譯就是這樣做的,比如...