前言:
C语言提供了多种预处理功能,如宏定义、文件包含、条件编译等。以"#"号开头的预处理命令:包含命令#include,宏定义命令#define等。在源程序中这些命令都放在函数之外,而且一般都放在源文件的前面,它们称为预处理部分
所谓预处理是指在进行编译的第一遍扫描(词法扫描和语法分析)之前所作的工作。预处理是C语言的一个重要功能,它由预处理程序负责完成。当对一个源文件进行编译时,系统将自动引用预处理程序对源程序中的预处理部分作处理,处理完毕自动进入对源程序的编译
宏的缺点:
当然和函数相比宏也有劣势的地方:
每次使用宏的时候,一份宏定义的代码将插入到程序中。除非宏比较短,否则可能大幅度增加程序的长度
宏是没法调试的
宏由于类型无关,也就不够严谨
宏可能会带来运算符优先级的问题,导致程容易出现错
宏有时候可以做函数做不到的事情。比如:宏的参数可以出现类型,但是函数做不到
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/291053.html