| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1279 人关注过本帖
标题:关于c指针&物理地址
只看楼主 加入收藏
vector2006
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2006-6-6
收藏
 问题点数:0 回复次数:2 
关于c指针&物理地址
请我在c里面的变量的地址是真实的物理内存中的地址么?
还是线性地址呀
在windows中输出一个变量的地址,几乎每次都是一样的(还没发现不一样)
但是在linux里面每执行一次都不一样,请高手指点啊
?????????????????
搜索更多相关主题的帖子: 物理 指针 windows 内存 地址 
2006-06-06 20:36
shuaiye
Rank: 1
等 级:新手上路
帖 子:445
专家分:0
注 册:2006-5-15
收藏
得分:0 

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

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


由于工作,N久都没来了!
2006-06-06 20:59
vector2006
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2006-6-6
收藏
得分:0 
不是把。linux里面gcc不是核心的一部分。
liux的每个进程的数据段的起始地址都是0啊
2006-06-06 21:34
快速回复:关于c指针&物理地址
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021303 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved