C/C++中的野指针

来源:互联网 发布:大数据研究生考试科目 编辑:程序博客网 时间:2024/06/08 11:02
1、野指针不是NULL指针,而是指向“垃圾”内存的指针。人们一般不会错用NULL指针,但是“野指针”
是很难判断出是很危险的,而且if语句对它不起任何作用。
“野指针”的成因主要有两种:
(1)指针变量没有初始化。任何指针变量刚被创建时不会自动自动成为NULL指针,
它的默认值是随机的,所以,指针变量在创建的同时应当初始化,要么将指针设置成为NULL,
要么指向合法的内存。
(2)指针p被free或delete之后,没有置为NULL。


2、野指针的存在会导致程序的崩溃。
3、野指针不能用于变量的互换。