带参数的宏定义#define.docVIP

  • 16
  • 0
  • 约1.38千字
  • 约 2页
  • 2017-04-23 发布于天津
  • 举报
带参数的宏定义#define.doc

9.1.2 带参数的宏定义   带参数的宏定义的一般形式如下:   #define 宏名(参数表) 宏体   其中, 宏名是一个标识符,参数表中的参数可以是一个,也可以是多个,视具体情况而定,当有多个参数的时候,每个参数之间用逗号分隔。宏体是被替换用的字符串,宏体中的字符串是由参数表中的各个参数组成的表达式。例如:   #define SUB(a,b) a-b 如果在程序中出现如下语句:   result=SUB(2, 3) 则被替换为:   result=2-3; 如果程序中出现如下语句:   result= SUB(x+1, y+2); 则被替换为:   result=x+1-y+2;   在这样的宏替换过程中,其实只是将参数表中的参数代入到宏体的表达式中去,上述例子中,即是将表达式中的a和b分别用2和3代入。   我们可以发现:带参的宏定义与函数类似。如果我们把宏定义时出现的参数视为形参,而在程序中引用宏定义时出现的参数视为实参。那么上例中的a和b就是形参,而2和3以及x+1和y+2都为实参。在宏替换时,就是用实参来替换宏体中的形参。 下面是带参数的宏定义的例子: 例9-4?#include iostream.h #define SUB(a,b) a-b void main () {  int x,y,result;  x=2;  y=3;  result=S

文档评论(0)

1亿VIP精品文档

相关文档