变量名是否占用内存

最后一次更新时间:Friday, April 3rd 2020, PM

 

想看结论的直接拖到最后

 

 

 

变量名究竟是否占用内存呢?

 

 

 

今天在网上看见这么一张图,里边有这么一句话不是很理解

 

 

 

为什么这样会浪费内存空间呢,我花了三个小时在网上查了些资料,整理了一下,具体如下:

 

 

 

变量名编译后,变成一个内存地址

这个内存地址一般是直接存在于代码段

 

 

 

那么什么是代码段呢?

一般把程序所占的主存空间分为(从低到高):

1.代码段

2.数据段

3.栈

4.堆

 

 

 

其中,代码段和数据段 是 编译期间就确定的

所以在整个程序编译期间,都占用内存空间

 

 

 

程序又分为编译期间和运行期间

变量名是在编译期间占用内存(所以那张截图里没说错)

而大多情况下,我们讨论的是运行期间

 

 

 

结论:

变量名 在 运行期间 是 不占内存的

            在 编译期间 是 占内存的

 

 

 

相关资料:

http://blog.csdn.net/qianqin_2014/article/details/51114105

http://bbs.csdn.net/topics/70123909