宏定义包括无参宏定义和有参宏定义;
无参宏定义格式:#define 标识符 字符串(可以是常量,变量,表达式,格式串)
两个例子的计算区别:
#define M y*y+3*y
int s=3*M+2*M-50;
计算:s=3*y*y+3*y+2*y*y+3*y-50,而不是s=3*(y*y+3*y)+2*(y*y+3*y)-50,
因为宏定义是这样的#define M y*y+3*y,若是#define M (y*y+3*y),则计算就要s=3*(y*y+3*y)+2*(y*y+3*y)-50这样了。
有参宏定义格式:#define 宏名(形参表) 字符串(可以是常量,变量,表达式,格式串)
计算#define sum(a) a+a
sum(3);计算直接带入即可sum(3)=3+3=6; |
|