C宏定义中#和## 符号#符号## 符号# #的作用是把参数字符串化. 相当于给参数加上引号. 比如 #define STRING(_name) #_name int count = 12; printf("%s = %d\n", STRING(count), count); 输出 count = 12 符号## ##的作用是把前后字符连接起来, 不会在前后加引号. 比如 #define GET_PAGE_WHAT(_attr) page_##_attr GET_PAGE_WHAT(size) //展开后是: page_size