#define Add(a,b) a+b;
在通常使用的时候是没有问题的,可是若是遇到如:spa
c * Add(a,b) * d
的时候就会出现问题,代数式的本意是a+b而后去和c,d相乘,可是由于使用了define(它只是一个简单的替换),因此式子实际上变成了
指针
c*a + b*d
另外举一个例子:
code
#define pin (int*); pin a,b;
本意是a和b都是int型指针,可是实际上变成blog
int* a,b;
a是int型指针,而b是int型变量。
这是应该使用typedef来代替define,这样a和b就都是int型指针了。class
因此咱们在定义的时候,养成一个良好的习惯,建议全部的层次都要加括号。变量