C語言巨集macro 介紹與幾個sample寫法

例: 常見的 ## (連接), #@ (字元化), # (字串化)

1. x ## y :表示x連接y, 注意x與y需同一型態
2. #@ x :據說可以字元化, 但這是不常用的語法, 而且我編譯會出現error: ‘#’ is not followed by a macro parameter
3. # x :表示將x字串化

輸出:
beConn(12, 34) : 1234
beStr(I am string) : I am string

例: 透過 #define 可以變成 function

定義更美觀易讀的語法,    ” \” 表示視為同一行

例: 透過 #define 與內嵌X()變化, 做出enum與之字串化

延伸閱讀:
C語言巨集macro: 將enum的integer變數 印出變成string

1. 假設這段程式碼可用於pwr_state.h檔案 當作宣告 stringify_PWR_state_t()

2. 然後更改一下x()的定義, 假設在pwr_state.c檔案

發表迴響