随便写下有关宏的概念,宏在C语言里提供了一个类似函数的功能,可以提高代码的运行速度,编译器对宏括号里面的“参数”(并不是真正意义上的参数)提供的是一一置换的操作,因此必须小心地将整个宏及宏里面的参数都用括号括起来,不然在做宏替换的时候就会产生副作用,简单地举个例子:
这段代码并不会输出2,而是4+4/4 = 5,呵呵
再举个宏的副作用例子
这段代码在执行的时候会被替换为MIN((*p++) < (b) ? (*p++) : (b)) ,指针p会做两次自增操作;
我认为多复习一下基础知识还是有好处的,这样写出的代码才会比较良好,减小后期调试的压力,呵呵