阅读大型C工程代码时,绕不开带参数的宏定义的阅读,所以有必要强化一下这一块的知识。 01-带参数的宏定义最常用的形式 # define S(a,b) a*b ... ... ... area = S(3,2); 则在编译预处理时area = S(3,2);被展开为: area = 3 * 2; 02-带标记分隔符##的宏定义 为什么要引入标记分隔符##? 在 C 语言的 预处理器中,对于带参数的宏替换,实际上是以标记为单位来替换的。 比如在下面的宏定义: # define S