#include #include "myfile.h"
/** #define **/
//1、反斜線將定義延續到下一行 "\"
#define a "my first define is n\
ot so ha\
rd,and wh\
o they'er\n" //my first define is not so hard,and who they'er
//2、const 定義全域性常量
const int b = 20;
//3、static 引用 define 作為陣列長度
#define num 50
static int d[num];
const int f = 2*num;
//錯誤
static int c[b]; //教程說是無效
const int e = 2*b; //教程說是無效
//4、巨集重定義 macro redefined
#define num2 2 * 3
#define num2 2 * 4
#define num2 2*3 //以最後一次定義為準
//5、帶引數的 define
#define num3(x) 2*x
//6、##運算子 把變數名粘合
#define num4(n) x##n
//7、有返回值的巨集
#define max(x,y) (x>y?x:y)
#define min(x,y) (x
C語言 預處理器
如果想在下一行延續指令,則在當前行末尾使用 字元 帶引數的巨集 define max x,y x y x y define is even n n 2 0 則i max j k,m n if is even i i 將被替換為 i j k m n j k m n if i 2 0 i 巨集的替換列表...
C語言 預處理器
指令 描述 define 定義巨集 macro include 包含乙個源 檔案 undef 取消已定義的巨集 ifdef 如果巨集已經定義,則返回真 ifndef 如果巨集沒有定義,則返回真 if如果給定條件為真,則編譯下面 else if 的替代方案 endif 結束乙個if.else條件編譯塊...
C語言 預處理器
6 gcc編譯器檢視替換後的編碼 7 標頭檔案相互包含導致的重定義錯誤 指令 描述 define 定義巨集 include 包含乙個源 檔案 undef 取消已定義的巨集 ifdef 如果巨集已經定義,則返回真 ifndef 如果巨集沒有定義,則返回真 if如果給定條件為真,則編譯下面 else i...