C语言中宏的作用

  在C语言#define机制中包括了一个规定,与允许把参数替换到文本中,这种实现通常称为宏或宏定义。下面是宏的声明方式:

    #define      name(parameter-list)          stuff

  其中  parameter-list的左括号必须与name紧邻,如果中间有空白,parameter-list就会被解释为stuff的一部分。

宏的作用

  1.替换作用:在程序中使用宏可以进行快速的替换。

  2.执行简单的计算使用宏在程序的规模和速度方面都更胜一筹。

  3.条件编译:可以通过宏来选择某些语句进行翻译或者忽略。

下面是一个示例小程序:

 1 #include<stdio.h>
 2 
 3 #define NUMBER 5
 4 #define SQUARE(x)  (x)*(x)
 5 #define  ON
 6 
 7 void main()
 8 {
 9     int t=NUMBER;
10     int m=SQUARE(t);
11 
12 #ifdef ON
13     printf("%d
",m);
14 #else
15     printf("%d
",t);
16 #endif 
17 
18 }

运行结果:

 两种情况分别是对ON进行声明和不声明的结果。

注意事项:

1.定义宏时在行末不必加分号,如果有分号则连分号也一起替换。

2.如果是带参数的宏定义,则要给宏定义中的每个参数加上括号,并在宏完整定义上再加一个括号。

原文地址:https://www.cnblogs.com/fcchen/p/13282117.html