预处理
宏定义
宏定义是预处理命令的一种,它允许用一个标识符来表示一个字符串。单纯的字符替换。
#define 宏名(形参列表) 字符串
#define M(y) ((y) * (y) + 3 * (y))
函数调用时要把实参表达式的值求出来再赋予形参,而宏代换中对实参表达式不作计算直接地照原样代换。
代码示例#2.5.1-宏定义
#include <stdio.h>
#define SQ(y) (y)*(y)
int main()
{
int a, sq;
printf("input a number: ");
scanf("%d", &a);
sq = SQ(a+1);
printf("sq=%d\n", sq);
return 0;
}