C的free的参数是空指针的问题
这样一段代码
#include<stdio.h>
int main(){
int *p;
p = NULL;
free(p);
printf("test\n");
return 0;
}
最后可以使用gcc编译成功并且输出结果是:
test
为什么free一个空指针没有报错,反而可以顺利运行到输出语句?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
http://linux.die.net/man/3/malloc
都知道空指针不需要free,编译器这点智能还是有的