<1>宏的定义
#define 标识符替换列表
例如 #define Sum 100
Sum的值为100
<2>带参数的宏
#define指令-带参数的宏
例如 #define Max(a,b) ((a>b)?(a):(b))
这个宏的作用是用来找最大值的
注:带参数的宏经常当作一些简单函数来使用。
优点:
①程序可能会稍微快些。一个函数调用在执行时通常会有些额外开销——存储上下文信息、复制参数的值等。而一个宏的调用则没有这些运行开销。
②宏会更“通用”。与函数的参数不同,宏的参数没有类型。因此,只要预处理后的程序依然是合法的,宏可以接受任何类型的参数。例如,我们可以使用MAX宏从两个数中选出较大的一个,数的类型可以是int,long int,float,double等等。