野指针产生原因及解决办法

简介: 野指针产生原因及解决办法

情况一


原因

指针变量声明时没有被初始化。


解决办法

指针声明时初始化,可以是具体的地址值,也可让它指向NULL。


情况二


原因

指针 p 被 free 或者 delete 之后,没有置为 NULL。


解决办法

指针指向的内存空间被释放后指针应该指向NULL。


情况三


原因

指针操作超越了变量的作用范围。


解决办法

在变量的作用域结束前释放掉变量的地址空间并且让指针指向NULL。


注意


“野指针”的解决方法也是编程规范的基本原则,平时使用指针时一定要避免产生“野指针”,在使用指针前一定要检验指针的合法性。

目录
相关文章
|
1月前
|
Java C语言 C++
空指针
空指针
12 3
|
5月前
|
存储 Cloud Native Linux
C++ 如何避免野指针
C++ 如何避免野指针
|
2月前
|
C++
C++野指针 空指针 危险指针
C++野指针 空指针 危险指针
|
9月前
|
编译器 C语言
|
10月前
|
安全
野指针是什么?
野指针是什么?
111 0
|
11月前
|
安全 Windows
因为你安全了,所以你危险了——空指针引用
1.本文章属于系列文章《因为你安全了,所以你危险了》中的第一篇 2.本篇文章的作者是Gcow安全团队复眼小组的晏子霜,未经允许禁止转载 3.本篇文章需要你对GDI子系统有一定了解,最好阅读过部分关于Windows显示驱动,打印机驱动,以及调色板这一块的源码.并对DDI函数有一定了解,以及编写Windows Kernel Exploit的能力
指针(三)- 二级指针、野指针、空指针
指针(三)- 二级指针、野指针、空指针
167 0
|
程序员 编译器
指针之野指针系列(2):如何规避野指针
指针之野指针系列(2):如何规避野指针
66 0
指针之野指针系列(2):如何规避野指针
指针之野指针系列(1):什么是野指针
指针之野指针系列(1):什么是野指针
55 0
指针之野指针系列(1):什么是野指针