想看结论的直接拖到最后
变量名究竟是否占用内存呢?
今天在网上看见这么一张图,里边有这么一句话不是很理解
为什么这样会浪费内存空间呢,我花了三个小时在网上查了些资料,整理了一下,具体如下:
变量名编译后,变成一个 内存地址
这个 内存地址一般是直接存在于 代码段中
那么什么是代码段呢?
一般把程序所占的主存空间分为(从低到高):
1.代码段
2.数据段
3.栈
4.堆
其中, 代码段和数据段是 编译期间就确定的
所以在整个程序 编译期间,都 占用内存空间
程序又分为 编译期间和 运行期间
变量名是在 编译期间 占用内存(所以那张截图里没说错),而大多情况下,我们讨论的是 运行期间
结论:
变量名在 运行期间 是 不占内存的
变量名在 运行期间 是 不占内存的
在 编译期间 是 占内存的
相关资料:
http://blog.csdn.net/qianqin_2014/article/details/51114105
http://bbs.csdn.net/topics/70123909
版权声明:本文为qq_38334088原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。