宏定义是C语言提供的三种预处理功能的其中一种 预处理中宏的作用: (1)方便程序的修正:将某个特定数量在程序中出现的所有实例统统加以修改; (2)提高程序的运行效率:C语言在实现函数调用时会带来重大系统开销,宏可以实现一种这样的程序块:它看上去像函数,但却没有函数调用的开销。
被定义为“宏”的标识符称为“宏名”。在编译预处理时,对程序中所有出现的“宏名”, 都用宏定义中的字符串去代换,这称为“宏代换”或“宏展开”。 宏定义是由源程序中的宏定义命令完成的。宏代换是由预处理程序自动完成的。在C语言中,“宏”分为有参宏和无参宏两种,即有参数和无参数。 无参宏的宏名后不带参数,一般形式为: #define 标识符 字符串 其中“#”表示这是一条预处理命令。凡是以“#”开头的均为预处理命令。“define”为宏定义命令。“标识符”为所定义的宏名。“字符串”可以是常数、表达式、格式串等。
|