第九章预她理命令 →9.1宏定义 →9.2文件包含处理 →9.3条件编译
第九章 预处理命令 9.1 宏定义 9.2 文件包含处理 9.3 条件编译
9.1宏定义 宏定义 用预处理命令# define命令指定的预处理。包括 不带参数和带参数宏定义两种。 不带参数宏定义 用一个指定的标识符代表一个字符串 # define标识符字符串 标识符称为宏名,字符串称为宏体。 在预处理时将该宏名用宏体替换,成为宏展开
9.1 宏定义 宏定义 用预处理命令#define命令指定的预处理。包括 不带参数和带参数宏定义两种。 不带参数宏定义 用一个指定的标识符代表一个字符串. #define 标识符 字符串 标识符称为宏名,字符串称为宏体。 在预处理时将该宏名用宏体替换,成为宏展开
9.1宏定义 说明 为与变量名区别,宏名一般习惯用大写字母表示 使用宏定义可以提高程序的通用性和可读性,易 于修改 预处理时不进行语法检查 #define pi 3.4159 宏定义不是c语句,不必加“;”,若有,则将 起处理 #define pi 3.14159 area=PI*r*r;/米area=3.14159;*米r;
9.1 宏定义 说明 为与变量名区别,宏名一般习惯用大写字母表示. 使用宏定义可以提高程序的通用性和可读性,易 于修改. 预处理时不进行语法检查. #define PI 3.l4l59 宏定义不是c语句,不必加“ ;”,若有,则将一 起处理。 #define PI 3.14159; area=PI*r*r; /* area=3.14159;*r*r;*/
9.1宏定义 宏定义的有效范围为宏定义处# define g98 到文件结束。可以用# undef命令main0 终止宏定义的作用域。 #undef g f10 宏定义时可以引用已经定义的宏名。 程序中用“”括起来的字符串不进行置换 宏定乂只作字符替换,不分配内存空间
9.1 宏定义 宏定义的有效范围为宏定义处 到文件结束。可以用#undef命令 终止宏定义的作用域。 宏定义时可以引用已经定义的宏名。 程序中用“”括起来的字符串不进行置换。 宏定义只作字符替换,不分配内存空间。 #define G 9.8 main() { ……} #undef G f1() {……}
9,1宏定义 带参数宏定义 带参宏定义的格式 # define宏名(参数表)宏体 #define s(a, b) atb area=S(2, 3) /米area=2*3;米 带参宏替换在形式上类似函数,也带有形参,调 用时也进行实参和形参的结合
9.1 宏定义 带参数宏定义 带参宏定义的格式: #define 宏名(参数表) 宏体 #define S(a,b) a*b area=S(2,3); /* area=2*3;*/ 带参宏替换在形式上类似函数,也带有形参,调 用时也进行实参和形参的结合