1. 野指针
定义:指针指向未知内存,导致访问越界/非法访问等问题。
几种情况:
- 指针没初始化
- 指针指向的内存释放后,指针没置空
- 指针操作超越了变量的作用范围
2. 如何避免野指针
指针变量声明时没有被初始化。
解决办法:指针声明时初始化,可以是具体的地址值,也可让它指向NULL。
指针p被free或者delete之后,没有置为NULL。
解决办法:指针指向的内存空间被释放后指针应该指向NULL。
指针操作超越了变量的作用范围。
解决办法:在变量的作用域结束前释放掉变量的地址空间并且让指针指向NULL。