#define Add(a,b) ((a)+(b))
#define Max(a,b) ((a)>(b)?(a):(b))
这就定义了一个假的函数
说白了就是字符串替换
这样在写代码时能简化,省去了多打几个括号的功夫
但是,它仅仅做的是替换,会有点问题
拿算法笔记上面的例子来说吧
#define CAL(x) (x*2+1)
下面在函数中调用的时候,如
a=1;
CAL(a+1)
值为多少呢 (1+1)*2+1=5?
其实是 1+1*2+1=4
另外,#define 宏定义中
还可以使用 # ## #@等符号