注册 登录
编程论坛 数据结构与算法

如果一个指针p指向某东西 然后free(p)了 这个p指向哪里

daishenghao 发布于 2010-04-22 10:06, 840 次点击
如果一个指针p指向某东西  然后free(p)了  这个p指向哪里  

对free不是很了解

还有个delete  小弟在此求大侠们的帮助~~
3 回复
#2
mywaylgh2010-04-22 10:30
还是指向原来的地方,但指向的地方已经不可用。
此时p就是典型的野指针了
所以free 或delete后最好 加一句 p=NULL
#3
自欺欺人2010-04-23 07:30
一般都是需要P=NULL;的……
#4
有风的夜晚2010-04-23 22:18
嗯  正如楼上所说,free(p) 释放的是 p 所指向的地址的内容,p 的指向不会变。
至于 delete 似乎是C++中的内容,与new 配对使用,而与 free 的作用差不多。

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