#define
const
起作用的阶段
在编译的预处理阶段起作用
编译、运行的时候起作用
起作用的方式
是字符替换,没有类型检查
有类型检查
存储方式
只是进行展开,有多少次使用就替换多少次,它定义的宏常量在内存中有若干个备份
定义的只读变量在程序运行过程中只有一份备份
代码调试的方便程度
不能调试,因为在预编译阶段就已经替换掉了
可以进行调试
存储位置
代码段
只读数据段(全局变量);栈(局部变量)
没有数据类型 有数据类型
可以节省空间,避免不必要的内存分配,提高效率
转载请注明原文地址: https://mac.8miu.com/read-490295.html