黑马程序员技术交流社区

标题: 宏的定义和使用 [打印本页]

作者: liu01230    时间: 2015-5-11 23:02
标题: 宏的定义和使用
宏是用来定义一个标示符并把这个标示符替换。
一、无参数的宏的定义:
        #define  标示符  需要替换的字符串  (后面不能写分号)
        注意点:
        1、宏之间可以相互调用
        2、宏的作用域是从定义开始到程序结束的,如果需要终止宏定义的作用域,可以用#undef命令。

  1. #include <stdio.h>
  2. #define π 3.14
  3. #define R 10
复制代码
二、有参数的宏的定义:
        #define  宏名(参数列表)   字符串
        注意点:
        1、宏名和参数列表之间不能有空格,否则空格后面的所有字符串都作为替换的字符串。
        2、有参数的宏定义时最好把参数和运算结果都括起来,不括起来的话得到的可能不是想要的结果。
  1. #include <stdio.h>
  2. #define sum(a) a+a
  3. int main()
  4. {
  5.     printf("%d\n", sum(4)*8);  //输出结果为36,并不是我们想要的64。这是因为我们没有把a+a用小括号括起来。结果sum(4)*8就被替换成了4+4*8。
  6. }
复制代码







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2