#define 与const的区别

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

 

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

 

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

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

posted @ 2012-12-08 17:09  helloyu  阅读(362)  评论(0编辑  收藏  举报