当前位置: 代码迷 >> C语言 >> 关于c指针&物理地址
  详细解决方案

关于c指针&物理地址

热度:403   发布时间:2006-06-06 20:36:00.0
关于c指针&物理地址
请我在c里面的变量的地址是真实的物理内存中的地址么?
还是线性地址呀
在windows中输出一个变量的地址,几乎每次都是一样的(还没发现不一样)
但是在linux里面每执行一次都不一样,请高手指点啊
?????????????????
搜索更多相关的解决方案: 物理  指针  windows  内存  地址  

----------------解决方案--------------------------------------------------------

首先我不是高手,其次未必只有高手才能回答这个问题。

是真实的物理地址。
这个书上写得很明白。C在什么时候给变量分配内存,以及什么样变量 (auto,static等)分配在内存什么区域,以及它们的生存期是什么样,一般的书上都有较详细的介绍(当然也有例外),请你仔细看书。
windows下变量地址始终一样。是编译器造成的,windows系统没有集成编译器,也就是说编译器不是windows系统的一不份,你安装在windows下的编译器是运行在windows的虚拟机平台上的。
gcc或cc是linux/unix内核的一部分,用他们编译一次就会产生一个进程,所以系统会把变量分配在不同的内存区域。


----------------解决方案--------------------------------------------------------
不是把。linux里面gcc不是核心的一部分。
liux的每个进程的数据段的起始地址都是0啊
----------------解决方案--------------------------------------------------------