您的位置:首页 > 编程语言 > C语言/C++

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

2016-07-15 20:35 375 查看
       野指针不是 NULL指针,它是随即指向一块内存的指针。野指针是很危险的,会导致内存泄漏,if语句对它不起作用。

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

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

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

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

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

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

    
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言 指针