[2-5]_数据存储预处理讲述.ppt

* 带参数的宏定义 #define 宏名(参数表)使用参数的字符或字符串 # include stdio.h # define VOLUMN(a,b,c) a*b*c # define V1(a,b) a*b # define V2(a,b) (a)*(b) # define V3 (a,b) (a)*(b) void main(void) { b = VOLUMN(1,2,3) ; c = V1(1+2,2+1); d = V2(1+2,2+1); e = V3(1+2,2+1); } 在宏调用预编译处理时,依次用实参替代宏定义中的形参,并将替代后的字符串替代宏调用 在宏定义中要用括号把形参扩起来,以减少错误 b=6 c=6 d=9 宏定义时,宏名与左括号之间不能有空格。如果有空格,则将空格后的全部字符都作为无参宏所定义的字符序列,而不作为形参 * #define MAX(x,y) (x)(y)?(x):(y) ……. main() { int a,b,c,d,t; ……. t=MAX(a+b,c+d); …… } 宏展开:t=(a+b)(c+d)?(a+b):(c+d); int max(int x,int y) { return(xy?x:y); } main() { int a,b

文档评论(0)

1亿VIP精品文档

相关文档