这样一段代码
#include<stdio.h>
int main(){
int *p;
p = NULL;
free(p);
printf("test\n");
return 0;
}
最后可以使用gcc编译成功并且输出结果是:
test
为什么free一个空指针没有报错,反而可以顺利运行到输出语句?
这样一段代码
#include<stdio.h>
int main(){
int *p;
p = NULL;
free(p);
printf("test\n");
return 0;
}
最后可以使用gcc编译成功并且输出结果是:
test
为什么free一个空指针没有报错,反而可以顺利运行到输出语句?
6 回答6.8k 阅读✓ 已解决
1 回答3.2k 阅读
767 阅读
http://linux.die.net/man/3/malloc