| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 830 人关注过本帖
标题:[求助]内存分配问题
只看楼主 加入收藏
overcome
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2007-3-11
收藏
 问题点数:0 回复次数:9 
[求助]内存分配问题

以下两个程序输出的结果为何不一样:请指点一二

程序1:
#include<iostream.h>
#include<string.h>
#include<malloc.h>
void main()
{
char *pstr;
pstr=(char *)malloc(100);
strcpy(pstr,"hello");
//cout<<pstr<<endl;
free(pstr);
if(pstr!=NULL)
{
strcpy(pstr,"world");
}

cout<<pstr<<endl;
}


程序2:
#include<iostream.h>
#include<string.h>
#include<malloc.h>
void main()
{
char *pstr;
pstr=(char *)malloc(100);
strcpy(pstr,"hello");
cout<<pstr<<endl;
free(pstr);
if(pstr!=NULL)
{
strcpy(pstr,"world");
}

cout<<pstr<<endl;
}

搜索更多相关主题的帖子: 内存 pstr 分配问题 include 
2007-11-15 14:19
PcrazyC
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:5652
专家分:0
注 册:2006-10-20
收藏
得分:0 
觉得这种错误的程序还是不要讨论的好.

雁无留踪之意,水无取影之心
2007-11-15 15:07
overcome
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2007-3-11
收藏
得分:0 

why?

2007-11-18 09:56
overcome
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2007-3-11
收藏
得分:0 

我说的是最后一句输出语句

2007-11-18 09:58
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
收藏
得分:0 
以下是引用PcrazyC在2007-11-15 15:07:48的发言:
觉得这种错误的程序还是不要讨论的好.


Fight  to win  or  die...
2007-11-18 13:24
zzj233
Rank: 1
等 级:新手上路
帖 子:38
专家分:0
注 册:2007-6-14
收藏
得分:0 
两个程序输出的结果不一样,是因为free(pstr);后pstr变成所谓的"野指针".

我不是个随便的人
2007-11-20 20:09
cince
Rank: 1
等 级:新手上路
威 望:1
帖 子:108
专家分:0
注 册:2007-1-21
收藏
得分:0 






There Is Nothing Impossible In My Dictionary.
2007-11-20 20:51
zkkpkk
Rank: 2
等 级:论坛游民
威 望:5
帖 子:489
专家分:28
注 册:2006-6-17
收藏
得分:0 
你为什么要free了他又把他的地址输出?
pstr是地址
*pstr是那个地址的值

Viva,espana!
2007-11-23 09:43
虫虫飞ya飞
Rank: 1
等 级:新手上路
帖 子:122
专家分:0
注 册:2005-11-28
收藏
得分:0 
呵呵

2007-11-23 11:39
我是杨过
Rank: 1
等 级:新手上路
帖 子:49
专家分:0
注 册:2007-11-23
收藏
得分:0 
强烈的看不明白楼主的意图!

不要幻想,因为那从来不会是真的!
2007-11-24 12:00
快速回复:[求助]内存分配问题
数据加载中...
 
   



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

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