首页 新闻 会员 周边 捐助

同一个C++工程,在我的电脑中运行时显示的变量地址,和在别人电脑编译运行后显示出的变量地址为什么会相同

0
悬赏园豆:10 [待解决问题]

同一个C++工程,在我的电脑中运行时显示的变量地址,和在别人电脑编译运行后显示出的变量地址为什么会相同呢?

c++
fupeng的主页 fupeng | 初学一级 | 园豆:192
提问于:2013-05-07 14:53
< >
分享
所有回答(4)
0

因为内存分配不同撒

明明小k | 园豆:246 (菜鸟二级) | 2013-05-09 07:00
0

个人觉得是变量存储区关系,

全局(包括静态)变量、常量和局部变量在定义后会存储在各自性质决定的区域中,

而这些区域段是对程序本身而言的,和电脑关系不大。

也许是错的,也是初学中……

路上的脚印 | 园豆:218 (菜鸟二级) | 2013-05-10 00:18
0

你看到的地址就程序内部的地址,windows上启动一个程序,首先有个基地址,其他的变量的地址都是在这个地址上的偏移

zlt | 园豆:237 (菜鸟二级) | 2013-07-26 08:38
0

如果是在常量和静态数据区的数据(全局变量),因为是编译时确定的,所以在不同电脑上显示其地址可能是相同的。

如果是在栈和堆上(函数临时变量,动态分配的)的,则不能保证相同。

hoodlum1980 | 园豆:573 (小虾三级) | 2013-10-07 15:00
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册