#define 和 const 定义常量的区别

Tags
C语言
CPP语言
ID
65
 
#define 进行的是宏定义,在代码的预处理阶段进行文本替换,const 则是在代码的编译阶段中被计算;
#define 不会对数据进行类型的检查和计算,const 变量则和其他变量一样参与计算和类型检查;
#define 没有自己的作用域,全局中均可使用,而 const 和其他变量一样有自己的作用域;
同上,#define 会保存在在内存的代码段中,而 const 则会保存在静态区或者栈内存中;
const 变量有自己的符号表,而 #define 没有,所以 const 更利于调试。