当前位置: 技术问答>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保护,防止误用
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。