函数的效率
1、用宏定义来替换一些简单的函数以提高效率
很明显,这不行,宏定义坑太多,例如上次讲到的运算符优先级问题,就算加了括号还有其他问题,例如如果你是循环迭代调用
#define SQUARE(x) ((x)*(x))
...
int i=0;
while(i<=100)
{
printf("%d\n",SQUARE(i++));//自己试试打印出来是啥,为什么?
}
2、可以使用内联函数提高效率
直接在函数前面加inline,编译的时候函数代码会直接镶嵌到main函数中,不会调用堆栈提高了效率,相当于把函数变为了宏定义,拥有了其的优点,避免了宏的缺点,现在的编译器能自动将一些适合的变为内联函数,如果全部为内联函数则会延长编译过程。