c语言中指针悬空

2015-01-22 21:33:59 · 作者: · 浏览: 71

指针悬空

指针悬空在我们使用指针的时候很容易被忽视,主要的表现是:指针所指向的内存

释放,指针并没有置为NULL,致使一个不可控制的指针。

#include
  
   
#include
   
     int *pointer; void func() { int n=8; pointer=&n; printf("pointer point data is %d\n",*pointer); // pointer=NULL; } int main() { func(); sleep(2); printf("%d\n",*pointer); return 0; } 
   
  


当空间被释放时,如果把该指针不置为NULL,指针将指向一个不可预知的地址,当置为NULL时,则会发生段错误(segment fault),使我们检查错误

变得简单。