| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 961 人关注过本帖
标题:用动态存储后释放后再通过指针访问已释放的块 将引起 灾难性错误 具体指什 ...
只看楼主 加入收藏
ouyangshit
Rank: 3Rank: 3
来 自:China
等 级:论坛游侠
帖 子:155
专家分:107
注 册:2014-10-25
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:7 
用动态存储后释放后再通过指针访问已释放的块 将引起 灾难性错误 具体指什么
灾难性 灾难性 怎解
搜索更多相关主题的帖子: 动态 
2014-11-14 08:27
ouyangshit
Rank: 3Rank: 3
来 自:China
等 级:论坛游侠
帖 子:155
专家分:107
注 册:2014-10-25
收藏
得分:0 
我自己试了下,只是变成了一个随机数。
没有什么灾难性。。
2014-11-14 08:29
TinyBoy
Rank: 2
等 级:论坛游民
帖 子:23
专家分:44
注 册:2014-11-13
收藏
得分:10 
回复 楼主 ouyangshit
释放内存后,指针就是野指针了,你根本不知道它指向内存什么地方,如果指向系统重要的内存数据的地方,你再使用或者改变,这就是灾难,所以,释放后,指针指向NULL就行了。
2014-11-14 08:37
ouyangshit
Rank: 3Rank: 3
来 自:China
等 级:论坛游侠
帖 子:155
专家分:107
注 册:2014-10-25
收藏
得分:0 
回复 3 楼 TinyBoy
嗯 谢谢
2014-11-14 09:12
八画小子
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:37
帖 子:709
专家分:2063
注 册:2010-11-11
收藏
得分:0 
释放后,指针指向的仍然是内存中的那个地址。代码执行一段时间后,该地址可能会称为另一个变量的地址,这个时候如果通过操作该地址,值就会发生变化。
举个例子。你谢了给程序,执行该程序。执行到这一部分,释放一段时间后,该地址现在保存着你的C语言程序设计课的学分,或是你这个月的工资,然后你通过指针给这个地址的值赋值为0。。。。。。。
你猜猜你会遇到什么灾难。
2014-11-14 10:33
ouyangshit
Rank: 3Rank: 3
来 自:China
等 级:论坛游侠
帖 子:155
专家分:107
注 册:2014-10-25
收藏
得分:0 
回复 5 楼 八画小子
嗯,谢谢你的解释。
2014-11-14 12:26
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
在现在的计算机上进行应用开发也没什么灾难性后果 也就是程序死掉了

如果是在内核 一般也没大事 就是死机呗
2014-11-14 12:58
ouyangshit
Rank: 3Rank: 3
来 自:China
等 级:论坛游侠
帖 子:155
专家分:107
注 册:2014-10-25
收藏
得分:0 
回复 7 楼 zklhp
斑竹的头像越看越着迷,萌萌哒~
2014-11-14 17:09
快速回复:用动态存储后释放后再通过指针访问已释放的块 将引起 灾难性错误 具体 ...
数据加载中...
 
   



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

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