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

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

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

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

阅读 5.2k
3 个回答

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

free前后指针没有改变

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

推荐问题
宣传栏