C中#define和const的区别?

#定义 是一个 预处理器指令 .由#define定义的数据 定义是预处理的,这样整个代码都可以使用它。这可以释放空间并增加编译时间。

null

康斯特 变量被认为是变量,而不是宏定义。

长话短说: 康斯特 由编译器处理,其中 #定义 s由 前置处理器 .

大人物 const优于#define 是类型检查#无法对定义进行类型检查,因此在尝试确定 数据类型 .如果变量是常数,那么我们可以获取存储在常数变量中的数据类型。

自从 常数被认为是变量 ,我们可以在上面使用指针。这意味着,除了更改数据本身,我们还可以对正则变量进行类型转换、移动地址以及其他所有操作,因为分配给该变量的数据是常量。

一般来说 const是一个更好的选择 如果我们有选择,它可以成功地应用于代码。有些情况下#define不能被const替换。例如,#define可以接受参数(参见 例如)#define还可以用来用另一个文本替换程序中的一些文本。

本文由 阿比拉蒂 编辑 诺兰·塔夫脱 。如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请发表评论

© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享