一、编译预处理和动态分配
1、不带参数的宏定义
格式:#define宏名替换文本
例:定义圆周率
#definePI3.14
例:定义多行宏
#defineX
#defineY(X*X+1)
#defineZ(Y*Y*Y-2*X+1)
2、带参数的宏定义
格式:#define宏名(形参表)替换文本
例:#defineMV(X,Y)((X)*(Y))
a=MV(5,2);
b=6/MV(a+3,a);
例:#defineMV(X,Y)X*Y
b=6/MV(a+3,a);
例:#defineMV(X,Y)(X)*(Y)
b=6/MV(a+3,a);
注意:#defineN2
#defineMN+1
#defineNUM(M+1)*M/2
C语言