8.1.2符号常量 在定义无参宏时,如果“语言符号字符串”是一个 常量,则相应的“宏名”就是一个符号常量 恰当命名的符号常量,除具有宏定义的上述优点外, 还能表达出它所代表常量的实际含义,从而增强程序的 可读性。 #define eof -1 /*文件尾* #define null o /*空指针* #define min 1 /*极小值* #define max 31 /*极大值* #define step 2 /*步长* Return
8.1.2 符号常量 在定义无参宏时,如果“语言符号字符串”是一个 常量,则相应的“宏名”就是一个符号常量。 恰当命名的符号常量,除具有宏定义的上述优点外, 还能表达出它所代表常量的实际含义,从而增强程序的 可读性。 #define EOF -1 /*文件尾*/ #define NULL 0 /*空指针*/ #define MIN 1 /*极小值*/ #define MAX 31 /*极大值*/ #define STEP 2 /*步长*/ [Return]
8.1.3有参宏定义 带参宏定义的一般格式 # define宏名(形参表)语言符号字符串 2.带参宏的调用和宏展开 (1)调用格式:宏名(实参表) (2)宏展开:用宏调用提供的实参字符串,直接置换宏定义命令 行中、相应形参字符串,非形参字符保持不变。 3.说明 (1)定义有参宏时,宏名与左圆括号之间不能留有空格。否则 C编译系统将空格以后的所有字符均作为替代字符串,而将该宏视为 无参宏。 (2)有参宏的展开,只是将实参作为字符串,简单地置换形参字 符串,而不做任何语法检查。在定义有参宏时,在所有形参外和整个 字符串外,均加一对圆括号
8.1.3 有参宏定义 1.带参宏定义的一般格式 #define 宏名(形参表) 语言符号字符串 2.带参宏的调用和宏展开 (1)调用格式:宏名(实参表) (2)宏展开:用宏调用提供的实参字符串,直接置换宏定义命令 行中、相应形参字符串,非形参字符保持不变。 3.说明 (1)定义有参宏时,宏名与左圆括号之间不能留有空格。否则, C编译系统将空格以后的所有字符均作为替代字符串,而将该宏视为 无参宏。 (2)有参宏的展开,只是将实参作为字符串,简单地置换形参字 符串,而不做任何语法检查。在定义有参宏时,在所有形参外和整个 字符串外,均加一对圆括号