+ -
当前位置:首页 → 问答吧 → [C求助]弱弱地问下,指针free之后,不可以赋个NULL给它?

[C求助]弱弱地问下,指针free之后,不可以赋个NULL给它?

时间:2010-09-10

来源:互联网

一个很菜的问题,
我把指针free之后,赋个NULL值给它,编译没警告,运行到该句时提示段错误,什么原因呢?
要是不允许给指针赋NULL值,为什么编译的时候没有任何警告呢?

作者: 叶叶叶Yeah   发布时间: 2010-09-10

你肯定写错了吧。
free(p); p = 0;
这是一种好习惯。

你可能写成了:
free(p); *p = 0;

作者: 论坛ID   发布时间: 2010-09-10

肯定是能赋值的,但赋了是不是好习惯,仁者见智,智者见淫吧。。

反正我是不赋的

作者: 雨过白鹭洲   发布时间: 2010-09-10

指针当然能赋NULL而且肯定不会出错

作者: hellioncu   发布时间: 2010-09-10

free仅仅释放的是那段内存,只要你的指针不在引用就行了,指针可以赋值NULL,这样就和原来的那段内存没关系了

作者: wkq5325   发布时间: 2010-09-10

你写错了

作者: pengjianbokobe   发布时间: 2010-09-10

检查自己代码吧

作者: ljysyn   发布时间: 2010-09-10

可以赋值而且完全不会出错,可能你手误了吧

作者: chinesedragon   发布时间: 2010-09-10

相关阅读 更多