const与define的区别

Posted 张大猛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了const与define的区别相关的知识,希望对你有一定的参考价值。

const与#define最大的差别,Const在堆栈分配了空间,而#define只是把具体数值 直接传递到目标变量罢了。或者说,const的常量是一个Run-Time的概念,他在程 序中确确实实的存在可以被调用、传递。而#define常量则是一个Compile-Time概 念,它的生命周期止于编译期:在实际程序中他只是一个常数、一个命令中的参 数,没有实际的存在。 const常量存在于程序的数据段。 #define常量存在于程序的代码段。 我们要把这个问题分不同的编译器来看。 所以一般我们认为,Const常量是分配了内存空间的,而且只分配一次,在使用 Const常量时与使用变量的引用方式一样,如王san所讲『使用const常量还可以避 免目标码的多份复制。在程序中,仅有一个内存来存放常量』 但是根据编译器的不同,还略有不同。

以上是关于const与define的区别的主要内容,如果未能解决你的问题,请参考以下文章

const与#define的区别优点

const与define的区别

#define与const定义常量的区别

php中const与define的区别

#define与const的区别

php中const和define的区别