什么是野指针?如何避免野指针?

来源:互联网 发布:逆波兰式计算c语言 编辑:程序博客网 时间:2024/05/03 08:25

       野指针不是 NULL指针,它是随即指向一块内存的指针。野指针是很危险的,会导致内存泄漏,if语句对它不起作用。

    导致野指针的原因有两种:

   (1)野指针指向了一块没有访问权限的内存。(即指针没有初始化)

   (2)野指针指向了一个已经释放的内存。

    因为野指针是因为我们的不良编程习惯造成的,所以我们养成良好的编程习惯才能尽可能避免野指针的出现。下面是一些好的编程习惯:

    首先,尽量将指针初始化为NULL,用完后也可以将其赋值为NULL。因为NULL代表0地址,0地址不能进行操作。这样做在代码出现段错误时,有利于找到错误并修改。

    其次,使用malloc分配内存。(在堆空间内分配)分配后要进行检查是否分配成功,最后要进行释放内存。


    

1 0