define
了解define
define,宏定义,C语言中预处理命令一种。分为无参宏定义和带参宏定义。无参宏定义的一般形式为:
#define 宏名 [字符串];
#define 宏名(参数表) [字符串];
无参宏定义
C语言中无参宏定义的一般形式为:
#define 宏名 [字符串];
“#”表示这是一条预处理命令。凡是以“#”开头的均为预处理命令。“define”为宏定义命令。“标识符”为所定义的宏名。“字符串”可以是常数、表达式、格式串等
作用是:在编写程序时,所有的字符串都可由宏名代替,而对源程序作编译时,将先由预处理程序进行宏代换,即用字符串去置换所有的宏名,然后再进行编译
带参宏定义
#define 宏名(参数表) [字符串]; • 1
C语言允许宏带有参数。在宏定义中的参数称为形式参数,在宏调用中的参数称为实际参数。对带参数的宏,在调用中,不仅要宏展开,而且要用实参去代换形参
例题
解析:先替换在计算
- 将
ADD(m+n)
中的m+n
代入宏定义的字符串x+x
中,得到m+n+m+n
- 将
m+n+m+n
替换掉int sum=ADD(m+n)*k
当中的ADD(m+n)
- 得到
int sum=ADD(m+n)m+n+m+n*k
- 替换完成,最后运算