野指针

 野指针的成因有两种:

一:局部指针变量未初始化,在栈空间中系统随机给其赋垃圾值 ,造成断错误(内存泄漏)。所以在指针变量创建时应当被初始化,要么将指针设置为NULL,要么将它指向合法内存。

二:p指针被free或者delete之后,没有设置为NULL,让人误以为p是个合法的指针。p被free后他的地址仍然不变,只是该地址对应的内存是垃圾。


如何避免野指针?

养成良好的编程习惯

1.当指针不确定指向时,将其置为空,凡是指针指向null的都不能对其进行操作

2.检查指针是否分配内存空间;

3.malloc调用后,一定要检查内存是否分配成功;

4.将分配空间清零;

5.指针使用完将其释放;

6.讲指针置为空;

你可能感兴趣的:(c语言)