1.与函数的区别
- 从整个使用过程可以发现,带参数的宏定义,在源程序中出现的形式与函数很像。但是两者是有本质区别的:
- 1> 宏定义不涉及存储空间的分配、参数类型匹配、参数传递、返回值问题
- 2> 函数调用在程序运行时执行,而宏替换只在编译预处理阶段进行。所以带参数的宏比函数具有更高的执行效率
2.typedef和#define的区别
- 用宏定义表示数据类型和用typedef定义数据说明符的区别。
- 宏定义只是简单的字符串替换,
是在预处理完成的
- typedef是在编译时处理的,它不是作简单的代换,
而是对类型说明符重新命名。
被命名的标识符具有类型定义说明的功能
- 宏定义只是简单的字符串替换,