1、「/」
解釋:連線下一行
例子:#define link(tokenname) aa + /
bb + /
(tokenname)
呼叫:a = link(b);
輸出:a = aa + bb + b; 2、
「#@tokenname
」解釋:將tokenname變為字元'tokenname'
例子:#define makechar(tokenname)
#@tokenname
呼叫:a = makechar(w);
輸出:a = 'w';
3、「#tokenname」
解釋:將tokenname轉為乙個字串"tokenname"
例子:#define makestring(tokenname) #tokenname
呼叫:a = makestring(wolf);
輸出:a = "wolf"
4、「tokenname1##tokenname2」
解釋:將tokenname1和tokenname2合併為tokenname1tokenname2
例子:#define combination(tokenname1, tokenname2) tokenname1##tokenname2
呼叫:a = combination(good, wolf);
輸出:a = goodwolf
巨集定義的符號
在預處理階段就展開了 define巨集定義中的 及 符號 1 stringizing 字串化操作符。其作用是 將巨集定義中的傳入引數名轉換成用一對雙引號括起來引數名字串。其只能用於有傳入引數的巨集定義中,且必須置於巨集定義體中的引數名前。如 define example instr printf t...
常見巨集定義符號
常見巨集定義 include define define msg str fprintf stderr,file s line d function s n s n file line func str ifdef ifndef else elif endif undef error line pr...
C C 巨集的特殊符號
在c c 中,巨集定義是由define完成的,define中有三個特殊的符號值得我們注意 1.在巨集展開的時候會將 後面的引數替換成字串,如 define p exp printf exp 呼叫p asdfsadf 的時候會將 exp換成 asdfsadf 2.將前後兩個的單詞拼接在一起。例如 th...