#define max a > b ? a : b //比较大小的宏函数
int max(int a,int b) //自定义比较大小的函数
{
return a > b ? a : b;
int max(int a,int b) //自定义比较大小的函数
{
return a > b ? a : b;
}
如上是两个简单的宏函数和自定义函数
1、宏函数没有定义形参和返回值类型而自定义的函数定义形参和返回值类型;
2、相比较宏函数省去了分配栈幁,传参返回值的操作运行效率高,不占用内存空间,执行速度快;
3、宏函数一般用于简短,频繁调用的函数;
4、但宏函数在预处理时候进行只进行宏替换不进行语法检查而且不能进行复杂功能;
5、自定义的函数可以执行复杂功能但占用内存空间执行效率相对于宏函数慢;
宏函数就是用编译时间换内存空间