读书人

#define 一个函数的好处?该怎么处理

发布时间: 2012-03-24 14:00:46 作者: rapoo

#define 一个函数的好处?

#define func(x) ... // 对x进行处理


func(x) // 定义一个函数

有什么分别?
有什么优势与劣势?

谢谢~

[解决办法]
优点:可完成函数调用的功能,又能减少系统开销,提高运行效率。因为它是在预处理阶段即进行了宏展开,在执行时不需要转换,即在当地执行。
缺点:所占用的目标代码空间相对较大
PS:牺牲空间来换取时间
[解决办法]

探讨

在学链表时,
书上定义
struct List{
int size;
......
};
struct List *list;

本该可以用
list->size
来读取信息;

为何书上还用
#define list_size(list) ((list)->size)
那么麻烦呢?

读书人网 >C语言

热点推荐