| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 310 人关注过本帖
标题:c++ 问题
只看楼主 加入收藏
fengwuying
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-10-4
收藏
 问题点数:0 回复次数:2 
c++ 问题
#include<iostream>
#include<stdlib.h>
using namespace std;
int var01=1;
int main(void)
{
int var02=2;
int *p;
p=(int *)malloc(sizeof(int));
cout<<"global var01:"<<&var01<<endl;
cout<<"local var02:"<<&var02<<endl;
cout<<"malloc():"<<(void *)p<<endl;
free(p);
return 0;
}

请问这程序打印出的地址malloc():003A56E8怎么跟调试时地址0x003a5c70 怎么不相等啊!
谢谢!
2007-10-04 20:59
fengwuying
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-10-4
收藏
得分:0 
回复:(fengwuying)c++ 问题

有人在吗?

2007-10-04 21:01
DieHeart
Rank: 1
等 级:新手上路
帖 子:52
专家分:0
注 册:2007-10-4
收藏
得分:0 
malloc分配的堆内存起始位置是系统决定的,理论上,程序运行一次后,再执行点别的占用内的程序,再执行这段代码结果都不相同。
2007-10-05 00:57
快速回复:c++ 问题
数据加载中...
 
   



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

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