正在加载图片...
第九章编译预处理 预处理功能主要有三种:宏定义;文件包含;条件编译 9.1宏替换(宏定义) 91.1不带参数的宏定义 1.# define指令:用一个指定的标识符来代表一个字符串。 2.定义的一般形式是 # define宏名字符串(或数值) 由# define指令定义后,在程序中每次遇到该宏名时就用所 定义的字符串(或数值代替它 W1: #define Pl3. 14159265 #define radius 2.0 double circum return(2.0*PI"RADIUS double areao i return(PI RADIUS"RADIUS) main( i printf("l=%ofn"circum) printf("s%lf\n", areao) 注意 ①在宏定义的后面没有";"(因为它不是语句) ②习惯上用大写字符作为宏名,与变量名相区别,而且常放在程 序开头。 ③使用宏名代替一个字符串,可以减少程序中重复书写某些字 符串的工作量 #define array size 1000 int arraylattay size ④可以用# undef命令终止宏定义的作用域 #define 8 maino #undefg fIo第九章 编译预处理 预处理功能主要有三种:宏定义;文件包含;条件编译。 9.1 宏替换(宏定义) 9.1.1 不带参数的宏定义 1. #define 指令 :用一个指定的标识符来代表一个字符串。 2. 定义的一般形式是: #define 宏名 字符串(或数值) 由#define 指令定义后, 在程序中每次遇到该宏名时就用所 定义的字符串(或数值)代替它。 例 1:#define PI 3.14159265 #define RADIUS 2.0 double circum() { return(2.0*PI*RADIUS); } double area() { return(PI*RADIUS*RADIUS); } main() { printf("L=%lf\n",circum()); printf("S=%lf\n",area()); } 注意: ①在宏定义的后面没有";"(因为它不是语句) ②习惯上用大写字符作为宏名, 与变量名相区别,而且常放在程 序开头。 ③使用宏名代替一个字符串,可以减少程序中重复书写某些字 符串的工作量: #define array_size 1000 int array[attay_size]; ④可以用#undef 命令终止宏定义的作用域。 #define G 9.8 main() { } #undef G f1( )
向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有