一 宏替换:
*宏定义有两种形式:取决于被定义的宏名后面是否紧随一个左括号。
(1)#define 宏名 替换文本:最简单的宏替换。
*后续所有出现宏名的地方都将被替换为替换文本。
*#define中名字与变量名的命名方式相同,替换文本可以是任意字符串。
*通常#define指令占一行,替换文本是#define指令行尾部的所有剩余部分内容,也可以把一个较长的宏定义分成若干行,这时需要在行末尾加上反斜杠符\。
(2)#define 宏名(标识符列表) 标记序列:定义带参数的宏。优点:不会招致函数调用开销。
*标识符列表:逗号分隔的形式参数名称列表。
*左括号必须紧跟宏名之后,中间不能有空格。如果宏名和左括号之间被一个空格所分隔,则这个宏定义不接受任何参数,并且宏体从这个左括号开始。</