当前位置: 技术问答>linux和unix
野指针问题
来源: 互联网 发布时间:2016-03-12
本文导语: C中都知道使用malloc和free,没有把指针赋NULL值会产生,而FILE *p,close以后所留下的p是否也算是野指针呀???? | close后就不是了,但是为了安全还是要给它赋个NULL 以防止误用 | ...
C中都知道使用malloc和free,没有把指针赋NULL值会产生,而FILE *p,close以后所留下的p是否也算是野指针呀????
|
close后就不是了,但是为了安全还是要给它赋个NULL
以防止误用
以防止误用
|
从字面来理解,p close后就是野指针了
|
不会出错,这个时候p指向的堆上内存已经被回收
但是p可能还是会指向它,这个取决于编译器的实现,这个p也可以认为是野指针但确切的说应该是个无效指针
你仍可以用这个p去进行一系列操作,但是这些操作可能会是无效的
就象上面的你对p后面的存储空间进行了操作,很可能这块区域马上就会被其他程序所利用,
所以你即使做了操作也没实际用处,有的时候可能会引起异常
因此奉劝还是做完回收后再用NULL保护,防止误用