“野指针”不是NULL指针,而是指向“垃圾”内存的指针。人们一般不会错用NULL指针,因为用if语句很容易判断。但是“野指针”是很危险的,if语句对它不起作用。“野指针”的成因主要有两种:

  1. 指针变量没有被初始化。任何指针变量刚被创建时不会自动成为NULL指针,它的默认值是随机的.而访问或赋值某些内存本身就是非法的,运行错误.

  2. 指针p被free或者delete之后,没有置为NULL,让人误以为p是个合法的指针。