c提供的預處理功能有:為了與其她c語句區分,命令經常以符號「#」開頭。巨集定義檔案包含
條件編譯
#define 識別符號 字串
可以避免反覆輸入字串,後面不加;巨集定義在預設時的有效範圍是全部。也可以用#undef終止巨集定義區域。
不含引數
巨集展開帶入程式
含引數
#define s(a,b) a*b
#include
#define pi 3.1415
#define s(r) pi*r*r
intmain()
這裡強調實參a代替形參r,當實參含有若干時,注意括號的優先順序.
帶引數的巨集定義與函式呼叫的關係:
1.函式呼叫時,是先算出實參表示式的值,然後代入形參。
2.函式的實參形參都需要定義型別,而巨集定義不需要。
即乙個原始檔可以將另外乙個原始檔的全部**內容包括起來。常見的#include命令用來實現該操作。
當你往往要使用一些固定的資料時,可以將其寫到乙個檔案裡,寫其他檔案時直接引用。
說明:使用檔案包含處理的前提是建立乙個專案,使得他們都在乙個專案裡才能互相使用。
你如果講乙個函式宣告2次,就會報錯。所以把函式宣告寫在標頭檔案中後,如果引用了2次這個標頭檔案,也會報錯。#ifndef #define 巨集就是用來避免標頭檔案重複包含的
形式:#if-程式1 -#else-程式2-#endif
功能為:如果#if後的條件表示式為真,則程式1被選中,否則程式2被選中。
#include
#define result 0
//定義 result 為 0
int main (
void
)
2.#ifndef-識別符號-#define-識別符號 替換列表-#endif
功能為:一般用於檢測程式中是否已經定義了名字為某識別符號的巨集,如果沒有定義該巨集,則定義該巨集,並選中從 #define 開始到 #endif 之間的程式段;如果已定義,則不再重複定義該符號,且相應程式段不被選中。
C語言之預處理命令
ansi c標準規定可以在c源程式中加入一些 預處理命令 以改進程式設計環境,提高程式設計效率。這些預處理命令不是c語言本身的組成部分,不能直接對它們進行編譯。先要對程式中的這些特殊的命令進行 預處理 經過預處理後的程式不在包括預處理命令了,最後再由編譯程式對預處理後的源程式進行通常的編譯處理,得到...
C語言之預處理
預處理指令 在 編譯 0和1 之前執行的指令叫預處理指令。所有的預處理指令都是以 開頭。預處理的位置是隨便寫的 預處理指令的作用域 從編寫指令的那一行開始一直到檔案結尾 undef 巨集名 從這行 開始,巨集失效 巨集名一般用大寫 或者在巨集名前加 k 代表常量 變數名一般用小寫 一 巨集定義 格式...
C語言之預處理
預處理是c語言 也包括oc 的一部分,它們是一些特殊的命令.在編譯器對c程式 或者 oc程式 進行編譯之前,編譯器會對這些預處理命令進行處理,然後將這些處理的結構與源程式一起進行編譯.預處理命令有如下特徵.1 預處理命令必須以 號開頭 2 預處理通常位於程式的開頭部分 下面一起來看一下幾種使用情況 ...