标题:如果一个指针p指向某东西 然后free(p)了 这个p指向哪里
只看楼主
daishenghao
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2010-4-15
结帖率:0
已结贴  问题点数:20 回复次数:3 
如果一个指针p指向某东西 然后free(p)了 这个p指向哪里
如果一个指针p指向某东西  然后free(p)了  这个p指向哪里  

对free不是很了解

还有个delete  小弟在此求大侠们的帮助~~
搜索更多相关主题的帖子: free 指针 
2010-04-22 10:06
mywaylgh
Rank: 8Rank: 8
来 自:厨房
等 级:蝙蝠侠
威 望:5
帖 子:188
专家分:729
注 册:2010-3-10
得分:6 
还是指向原来的地方,但指向的地方已经不可用。
此时p就是典型的野指针了
所以free 或delete后最好 加一句 p=NULL

人生就像茶几 上面放着许多杯具

人生也像厨房 里面总有一些洗具
2010-04-22 10:30
自欺欺人
Rank: 5Rank: 5
等 级:职业侠客
帖 子:71
专家分:370
注 册:2010-4-14
得分:6 
一般都是需要P=NULL;的……
2010-04-23 07:30
有风的夜晚
Rank: 2
等 级:论坛游民
威 望:1
帖 子:24
专家分:26
注 册:2010-3-9
得分:6 
嗯  正如楼上所说,free(p) 释放的是 p 所指向的地址的内容,p 的指向不会变。
至于 delete 似乎是C++中的内容,与new 配对使用,而与 free 的作用差不多。

这么处理后,他们就可以看作野指针了,因为若你在向系统申请一块空间,
而一个不小心,新申请的地址与p所指向的相同的话,如果你改变了p指向的内容,就会改变新申请的值········
所以最好再加一句 p=NULL
2010-04-23 22:18



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-303986-1-1.html




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

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