野指针得生成、危害、清除

发布时间 2023-06-03 09:27:31作者: 风中凌乱的猪头

1、野指针得概念::指针指向的位置不可知的(随机、不正确、没有明确限制的)

2、野指针生成的三种情况

  1、指针未定义,就进行*p相关操作

  2、指针越界访问,知道指向哪,但不是有效值

  3、指针指向的空间释放(函数的变量作用范围在函数内,返回函数内定义的指针到主函数是无效的,已经被释放了)

3、野指针的危害

  1、指向不可访问的地址 (段错误)

  2、指向一个可用的,但是没有明确意义的空间(程序可以继续运行,掩盖程序上的错误)

  3、指向一个可用的而且正在被使用的空间(对空间内容进行修改,会对程序的运行造成影响,因为变量不是我们想使用的那个值,通常这样程序会被崩溃或者数据被损坏)

4、如何规避野指针

  1、指针初始化(如果没有就初始化为NULL)

  2、小心指针越界

  3、指针指向空间释放即置为NULL

  4、指针使用之前检查有效性(例如:判断是否为NULL)