#define 与const的区别

const定义的只读变量在程序运行过程中只有一份拷贝(因为它是全局的只读变量,存放在静态区),而#define定义的宏常量在内存中有若干个拷贝。

#define宏是在预编译阶段进行替换,而const修饰的只读变量是在编译的时候确定其值。

#define宏没有类型,而const修饰的只读变量具有特定的类型

所以const与define之间的区别在于const定义常量排除了程序之间的不安全性

原文地址:https://www.cnblogs.com/fightingxu/p/2809075.html