#define 和 const 的区别

发布时间:2026/7/24 19:01:56
#define 和 const 的区别 #define 和 const 的区别#define和const都可以用来表示常量但机制有所不同。1. 本质不同#define是预处理宏在编译前做文本替换const是 C 语言里的常量有类型受编译器语义检查2. 是否有类型#define没有类型信息const有明确类型3. 作用域不同#define通过从定义处开始到文件结束都有效除非遇到#undefconst遵守 C 作用域规则比如块作用域、类作用域、命名空间作用域4. 调试和可读性#define只是替换调试时不直观const是真实变量/常量调试器可读5. 是否占用存储#define只是替换不是对象const是语言级常量是否分配存储与具体场景有关