C 標頭檔案與C語言標頭檔案的區別

2021-10-09 14:36:54 字數 1583 閱讀 5482

c++標頭檔案與c語言標頭檔案的區別:

c語言風格的標頭檔案(帶.h):

#include//輸入/輸出函式

#include//字串處理

#include//雜項函式/ 記憶體分配

c++風格的標頭檔案(無.h):

#include //資料流輸入輸出

#include //字串類

#include //stl佇列容器

當c++需要包含c的標頭檔案時,前面加字元c,去掉.h字尾

運用包含c的標頭檔案:

#include

//在前面加c,把.h字尾去掉

using

namespace std;

intmain()

而後來我發現,儘管沒有在**中引用包含c的標頭檔案**也可以正常編譯執行,因為c++的標頭檔案中已經幫我們包含了c語言的標頭檔案,因此c++也可以實現c語言能實現大多功能,如沒有包含所需要的的c語言標頭檔案,可自行新增(把所需要的用的c語言的標頭檔案的檔名的.h字尾去掉,再在檔名前加c)。

#include

//#include

using

namespace std;

intmain()

執行結果:

#include<>與#include" "的區別:

#include<>

如果此標頭檔案被認為是標準的標頭檔案,我們便以<>將檔名括住,編譯器搜尋此檔案時會在預設的系統目錄中尋找。

#include" "

如果標頭檔案時使用者自己定義的,我們便以" "將檔名括住,編譯器搜尋此檔案時會從當前工程所在的目錄開始尋找。

注:如果標頭檔案時自定義的,檔名要用" ",且檔名要加.h字尾。

.h標頭檔案:

.h標頭檔案中,只能存在變數或者函式的宣告,而不要放定義。

例如:extern int a //變數宣告

void f() //函式宣告

如果寫int a、void f(){}這樣的語句,那麼一旦這個.h標頭檔案被兩個或兩個以上的.cpp檔案包含的話,編譯器就會報錯。但這個規則有以下三個例外:

1、標頭檔案中可以定義const物件。全域性的const物件預設是沒有extern的宣告的。因為它只在當前檔案有效,所以儘管這個.h標頭檔案被多個.cpp檔案包含,對其他檔案來說也是不可見的,因此便不會導致多重定義。static物件的定義也可以放進標頭檔案。

2、標頭檔案中可以定義內聯函式(inline)。因為inline函式是需要編譯器在遇到它的地方根據它的定義把它內聯展開的(普通函式先宣告再鏈結,而內聯函式不會鏈結)。

3、標頭檔案中可以定義類(class)。

注:宣告語句的次數是不受限制的。

C 標頭檔案與C標頭檔案

include 設定插入點 include 字元處理 include 定義錯誤碼 include 浮點數處理 include 檔案輸入 輸出 include 引數化輸入 輸出 include 資料流輸入 輸出 include 定義各種資料型別最值常量 include 定義本地化函式 include ...

C 標頭檔案與C標頭檔案(math string)

math.h 是c語言中數學函式庫,包含我們常用的一些數學計算上會使用到的函式。c 中有對應相同作用的標頭檔案 cmath 當然c 中兩個標頭檔案都可以使用,c 向c相容。1.include c語言的標頭檔案,包含比如strcpy之類的字串處理函式。注意c語言裡沒有string類的概念,不要弄混。2...

c語言標頭檔案

c語言標頭檔案 每個c c程式通常分為兩個檔案。乙個檔案用於儲存 程式的宣告 declaration 稱為標頭檔案。另乙個檔案用於儲存 程式的實現 implementation 稱為定義 definition 檔案。c c程式的標頭檔案以 h 為字尾,c程式的定義檔案以 c 為字尾,c 程式的定義檔...