|
1.#define 目標文字 目地文字
|
範例:
若某 c 程式碼如下:
#define prn1 printf("1\n")
int main(){
prn1;
return(0);
}
則經過前置處理時,變成
int main(){
printf("1\n");
return(0);
}
範例:
若某 c 程式碼如下:
#define MAX 100
int main(){
int x[MAX], i;
for(i=0; i<MAX; i++){
x[i]=0;
}
return(0);
}
則經過前置處理時,變成
int main(){
int x[100], i;
for(i=0; i<100; i++){
x[i]=0;
}
return(0);
}
此時已無前置處理指令,才進入編譯階段。
|
2. #undef 已定義之命名
|
#define X 2
int main(){
int a;
a=X;
#undef X //刪除之前 X 的定義
a=X; //此行會有錯誤,因為 X 已被刪除了
return(0);
}
則經過前置處理時,變成
int main(){
int a;
a=2;
a= ?? <--不知放什麼
return(0);
}
|
|