易百教程

28、常量和宏有什么区别?

常量和宏的主要区别如下:

  • const 关键字由编译器处理,另一方面,宏由预处理器指令处理。
  • const 是修饰标识符行为的限定符,但宏是预处理器指令。
  • 使用 const 关键字会进行类型检查,但不会对 #define 进行类型检查。
  • const 由 C 块限定,#define 适用于文件。
  • const 可以作为参数(作为指针)传递给函数。 在通过引用调用的情况下,它可以防止修改传递的对象值。