宏运算

#define DOUBLE(x) x+x
i = 5 * DOUBLE(5)

最终结果是i = 5 * 5 + 5 = 30

宏定义相当于是直接进行代码替换,如果要实现先加倍的操作应将DOUBLE(5)用括号括起来。

const与#define的区别:

  1. const常量有数据类型,编译器能进行类型安全检查;宏常量没有数据类型,只进行字符串替换,不可类型安全检查
  2. 调试工具可以对const常量进行调试,而宏常量不行
原文地址:https://www.cnblogs.com/yingl/p/5817106.html