语法tips4(宏定义函数)

来源:互联网 发布:网络打call是什么意思 编辑:程序博客网 时间:2024/05/21 09:51


某些文章表示宏函数对文件结构造成了影响,不是很推荐宏函数,但是宏函数不需要开函数堆栈却是个不折不扣的优势。

关键是宏函数还是比较多见的:


①:最常见宏函数

 #define MAX(a,b) ((a>b)?a:b)

 #define MIN(a,b) ((a<b)?a:b)


②:只能用宏函数,主要优点在于宏定义的函数传入参数时不挑参数类型,不需要参数绝对匹配。

用于为不明确类型malloc空间

#define MALLOC(n,type) ((type*)malloc(n * sizeof(type)))


用于比较不同类型数据大小,比如float a 和 int b比较大小

#define MAX(a,b) ((a>b)?a:b) 


多行宏函数注意点:

①:函数体未结束时换行需要加上“\”

#define FUN(a,b)\

{\

a++;\

b++;\

}


②:若需要返回值,则需要将函数体“()”扩起,且返回值就是最后一行函数的结果,如下即返回a+b的数值

#define FUN(a,b)\

({\

a++;\

b++;\

a+b;\

})




0 0
原创粉丝点击