????C?????У?????????????

????1. #include <>or" " ???????滻

????2.#define <identifier> <replacement token list>   ?????滻??object-like??

?????????滻??????????????????replacement token list

????3.#define <identifier>(<parameter list>) <replacement token list>     ?????滻(function-like)

?????????滻 <identifier>(<parameter list>)????????κο?????????????????????????п??

?????????滻?????????????????????????????????滻?????????--???????????do{}while(0)?????

???????????????β?????С?????????if-else???????????????

????4. #ifdefine?????????????

?????????б???????????##??#????á?

????##????????????????

#define MYCASE(item??id)
case id:
????item##_##id = id;
break
switch(x) {
????MYCASE(widget??23);
}
MYCASE(widget??23); ??????
case 23:
????widget_23 = 23;
break;


????#??????????????

#define QUOTEME(x) #x
printf("%s "?? QUOTEME(1+2));
?滻??==>
printf("%s "?? "1+2");


?????????##??#???????????????????????????滻??????????

???????????????????????????ü??????????

???????????????????

????-----------------------------------------------------------