C語言
編譯IDE
x##y 
該宏用法表示連接x和y,如果宏體所在標示符中有##,那么在宏體擴展的時候,宏參數會被直接替換到標示符中。
*#x 
表示將x轉化成字符,如果宏參數前加入*#,則在擴展的時候,宏參數將會被展開成字符。
#x 
表示將x轉化成字符串,如果宏參數前加個#,那么在宏體擴展的時候,宏參數會被擴展成字符串的形式。
由于宏定義是單純的文本替換,預處理器不對宏體做任何語法檢查,所以在使用的時候要特別小心,對于很長的功能來說建議還是使用函數比較好。
0 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!