檔案包含

檔案包含

在C語言中檔案包含是指一個源檔案可以將另一個源檔案的全部內容包含進來。該命令的作用是在預編譯時,將指定源檔案的內容複製到當前檔案中。檔案包含是C語言預處理命令三個內容之一。

基本介紹

  • 中文名:檔案包含
  • 外文名:include
  • 類別:C語言編程
  • 類型:預處理命令
含義,兩種格式區別,檔案包含優點,例子,檔案包含特點,

含義

右圖很好的表達了"檔案包含"的含義,a圖為檔案f1.c,它有一個#include “f2.c”命令,後面跟著檔案內容,記為程式1.圖b為另一個檔案f2.c,檔案內容以程式2表示。在預編譯時,對要#include命令進行"檔案包含"處理,將f2.c的全部內容複製插入到#include “f2.c” 命令處,即f2.c被包含到f1.c中,得到如圖c所示的結果。在編譯時,將"包含"以後的f1.c(如圖c)作為一個源檔案進行編譯處理。
檔案包含

兩種格式區別

檔案包含有兩種格式,分別是:#include "file" 和 #include <file>
這兩格式的區別在於:
1.使用雙引號,系統首先到當前目錄下查找被包含的檔案,如果沒找到,再到系統指定的"包含檔案目錄"(由用戶在配置環境時設定)去找。
2.使用尖括弧:直接到系統指定的"包含檔案目錄"去查找。
通常使用雙引號比較保險

檔案包含優點

一個大程式,通常分為多個模組,並由多個程式設計師分別編程。有了檔案包含處理功能,就可以將多個模組共用的數據(如符號常量和數據結構)或函式,集中到一個單獨的檔案中。這樣,凡是要使用其中數據或調用其中函式的程式設計師,只要使用檔案包含處理功能,將所需檔案包含進來即可,不必再重複定義它們,從而減少重複勞動和定義不一致造成的錯誤。

例子

檔案F1.c
#define PI 3.1415926#define R 3#define S PI*R*R
檔案F2.c
#include "F1.c"#include "stdio.h"main(){        float area=0;     printf("area=%f\n",S);}
在VC++6.0的運行結果為:
area=28.274333

檔案包含特點

檔案包含的特點:
① 編譯預處理時,預處理程式將查找指定的被包含檔案,並將其複製插入到#include命令出現的位置上
② 常用在檔案頭部的被包含檔案,稱為“標題檔案”或“頭部檔案”,常以“h”(head)作為後綴,簡稱頭檔案。在頭檔案中,除可包含宏定義外,還可包含外部變數定義、結構類型定義等。
③ 一條包含命令,只能指定一個被包含檔案。如果要包含多個檔案,則要用多條包含命令。例如,檔案f1.h中要使用到檔案f2.h和檔案f3.h的內容,則可在檔案f1.h中用兩個檔案包含命令分別包含檔案f2.h和檔案f3.h,即在檔案f1.h中定義:
#include "f2.h"
#include "f3.h"
在使用多個#include命令時,順序是一個值得注意的問題。上例中,如果檔案f1.h包含檔案f2.h,而檔案2要用到檔案f3.h,則在f1.h中#include定義的順序應該是:
#include "f3.h"
#include "f2.h"
這樣檔案f1.c和檔案f2.h都可以使用檔案f3.h的內容。
④ 檔案包含可以嵌套,即被包含檔案中又包含另一個檔案。例如,檔案f2.h中要使用到檔案f1.h的內容,檔案f3.h要使用到檔案f2.h的內容,則可在檔案f2.h中用#include "f1.h"命令,在檔案f3.h中用#include "f2.h"命令,即定義如下:
檔案f1.h:
{
… …
}
檔案f2.h:
#include "f1.h"
int max()
{
… …
}
檔案f3.h:
#include "f2.h"
main
{
… …
}
#include命令一般用來把C語言提供的標準庫頭檔案(如stdio.h、math.h)包含到程式中。程式設計師也可以自己定義一個頭檔案,寫入一些常用的函式原型、宏定義、結構和聯合類型定義等,然後將它包含到程式中。例如:#include "stdio.h" (標準輸入/輸出函式館)
#include "math.h" (數學函式館)
#include "stdlib.h" (常用函式館)
#include "string.h" (字元串處理函式館)

相關詞條

熱門詞條

聯絡我們