编程中某个变量的地址可以改变吗?

 我来答
匿名用户
2016-05-22
展开全部
举个例子来说,你写了个a.exe程序,这一次运行a.exe程序系统分配给他的起始内存空间地址是4012FF00,那么这个变量在开辟空间的时候,可能之前已经定义了一些变量或者其它结构占用了7C的空间,则这个变量地址为4012FF7C,偏移地址为0012FF7C;关掉这个程序,再开它,则可能进程地址变为了5012FF00,那么这个变量的物理地址就为5012FF00,偏移地址仍旧为0012FF7C。 但是也不是说这个偏移地址是一成不变的,这涉及到这个变量的开辟时是不是总是固定在一个顺序上,例如我写个函数像这样:void aa(int m){ if(m>5) { int x=2;int y=3;int z=0;z=x+z; } else { int z=2;int x=3;int y=0;y=x+z; }}那么显然x这个变量的开辟时间点取决于变量m的大小,则开辟的先后也决定了x这个变量的地址,所以这些变量是动态变化的,如果涉及到结构和类的成员变量,还需要考虑这个结构或类对象的创建次序,这需要涉及到一些底层的思想旋律 的感言: 汇编的知识我还没接触,短时间内也不会接触的了!不过这也是对我以后有帮助的!
量子002
2016-05-22 · TA获得超过4212个赞
知道大有可为答主
回答量:4082
采纳率:66%
帮助的人:923万
展开全部
不可以
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式