預處理可以包含
1、巨集定義指令
2、標頭檔案包括指令
3、條件編譯指令
4、編譯程式可以識別的特殊符號
巨集定義 #define、#undef
檔案包含 #include
條件編譯 #if、#ifdef、#else、#elif、#endif等
其他 #line、#error、#program等
注意事項:
1)在c語言中,凡是以「#」開頭的行,都成為「編譯預處理」命令列,它們可以根據需要出現在程式的任何一行的開始部位。
2)一條預處理命令列至少得佔一行。語句尾不加分號。
3)巨集名可以是任何合法的c語言標示符,只不過是通常用大寫字母。
4)巨集定義是「編譯預處理」命令,它們的替換過程在編譯時期就已經完成了,因此不會占用程式執行的時間。
巨集定義分為兩種:不帶引數的巨集定義和帶引數的巨集定義。
1、不帶引數的巨集定義
巨集可以巢狀定義
巨集的作用域(從定義到取消)
在定義巨集時,如果巨集是乙個表示式,那麼一定要將這個表示式用()括起來,否則可能會引起非預期的結果。#define n 100
//巨集定義
#undef n
//巨集取消
2、帶引數的巨集定義#define num1 10
#define num2 20
#define num num1 + num2
//(num1 + num2)
intmain()
//a = 60, b = 50
//加括號後a = 60,b = 90
#define 識別符號(引數列表) 單詞串
#define max(x, y) ((x)>(y)?(x):(y))
//巨集引數和整體要用括號括起來
void main (
)//巨集展開:t = (a+b)>(c+d)?(a+b):(c+d);
C語言預處理
c語言中編譯預處理的三種形式的命令 巨集定義,檔案包含,條件編譯命令。1 巨集定義主要是 define,undef 如下 define pi 3.1415926 不帶引數的巨集定義 define max a,b a b?a b 帶引數的巨集定義 說明 巨集定義在c語言與c 語言中是相通的。下面舉例說...
C語言預處理
預處理 系統自動自動呼叫預處理程式對程式中 號開頭的預處理部分進行處理,處理完畢後可以進城源程式的編譯階段。預定義 一些預定義符號 常用於除錯 file 正在預編譯的源檔名 line 當前行號 只有這個是整數常量,其他是字串常量 function 當前所在函式名 date 當前日期 time 當前時...
C語言 預處理
預處理 下面介紹一些 c c 中幾個不常見卻有用的預編譯和巨集定義。error 語法格式如下 error token sequence 其主要的作用是在編譯的時候輸出編譯錯誤資訊token sequence,從方便程式設計師檢查程式 現的錯誤。例 include stdio.h int main i...