01 作用域
預編譯作用域限本文全局,如:
a.c中定義:#define TEST 1
b.c中定義:#define TEST 2
兩者編譯不交叉,互不影響。
若需#define TEST作用於a.c、b.c,可在a.c、b.c所添加的test.h中加入“#define TEST”。
02 一般用法
#define PRINT printf("hello world") #define P(s) printf("%d", s) #define MULT(a,b) a * b #define MULT(a,b) ((a) * (b))
#ifndef TEST ...... #else ...... #endif ; #if defined(TEST) ...... #else ...... #endif