野指针是程序员不能控制的指针。
当程序里定义了一个指针而又没有给这个指针一个具体地址指向时,这个指针会随意指向一个地址,这就是野指针。
如果这个地址后的内存空间无重要数据则没有关系, 否则随时有被野指针存取的危险,导致数据被破坏,程序崩溃。
野指针成因
1.指针变量没有初始化。任何指针变量刚被创建时不会自动成为null指针,它的默认值是随机的。所以在创建时同时应当初始化。
2.指针被free或者delete后,没有置为null,(程序结束后自动释放内存)
delete一个指针后,只是回收指针指向位置的空间,而指针本身的值不变。
把指针赋值为null了,那么该指针就什么也不指向了。但是,你还可以对该指针重新赋值,让它可以重新指向。 如果赋值为null,并且用delete进行销毁了,那么该指针就不能再重新进行指向了。如果需要,你得另外定义一个指针了。