#include
前處理器指令用於將給定檔案的程式碼匯入(貼上)到當前檔案中。它用來包括系統定義和使用者定義的標頭檔案。如果未找到包含的檔案,則編譯器會呈現錯誤。
通過使用#include
指令,我們向前處理器提供檔案名以查詢標頭檔案。使用#include
指令有兩種變體。
#include <filename>
告訴編譯器查詢儲存系統標頭檔案的目錄。在UNIX中,它是\usr\include
目錄。#include 「filename」
指示編譯器檢視執行程式的當前目錄。
#include指令範例
下面來看看一個#include
指令的簡單例子。在這個程式中,我們包括stdio.h
檔案,因為在這個stdio.h
檔案中定義了printf()
函式。
#include <stdio.h>
main() {
printf("Hello C");
}
執行上面範例程式碼,得到以下結果 -
Hello C
#include注意事項:
事項1:在#include
指令中,注釋不被識別。所以在#include <a//b>
的情況下,a//b
將被視為檔案名。
事項2:在#include
指令中,反斜槓被認為是普通文字不是跳脫序列。所以在#include <a\nb>
的情況下,\nb
被視為檔案名。
事項3:只能在檔案名後使用注釋,否則會給出錯誤。
#include、#include
#include<xxx.h>
:系統自帶的標頭檔案用尖括號括起來,這樣編譯器會在系統檔案目錄下查詢。假如你編譯器定義的自帶標頭檔案參照在 D:\worksp\inc\
下面,則 #include<stdio.h>
參照的就是 D:\worksp\inc\stdio.h
這個標頭檔案,不管你的專案在什麼目錄裡, D:\worksp\inc\stdio.h
這個路徑就定下來了,一般是參照自帶的一些標頭檔案,如:stdio.h
、conio.h
、string.h
、stdlib.h
等等。
#include 「xxx.h」
:使用者自定義的檔案用雙引號括起來,編譯器首先會在使用者目錄下查詢,然後在到C++安裝目錄(比如VC中可以指定和修改庫檔案查詢路徑,Unix和Linux中可以通過環境變數來設定)中查詢,最後在系統檔案中查詢。
假如你的專案目錄是在 D:\Projects\tmp\
,則 #include "my.h"
參照的就是 D:\Projects\tmp\my.h
這個標頭檔案,一般是用來參照自己寫的一些標頭檔案。如果使用 #include ""
,它是會先在你專案的當前目錄查詢是否有對應標頭檔案,如果沒有,它還是會在對應的參照目錄裡面查詢對應的標頭檔案。例如,使用 #include "stdio.h"
如果在你專案目錄裡面,沒有 stdio.h
這個標頭檔案,它還是會定位到 D:\worksp\inc\stdio.h
這個標頭檔案的。