调用free函数后,p指针指向什么

int *p;
p = (int*)malloc(sizeof(int));
free(p);

问题是 free 后,p 指针还存在吗?

如果存在,那么 p 是指向 NULL 吗?或者是野指针?

阅读 5.2k
3 个回答

指向原来的地址,但是那个地址所代表的内存已经被释放,不能再使用了,这就是野指针。

free前后指针没有改变

这是未定义行为由编译器的实现来决定,所以老老实实的写p=NULL;

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏