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 程式的定義檔...