空指针——野指针——内存泄漏

Posted whut-simon

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了空指针——野指针——内存泄漏相关的知识,希望对你有一定的参考价值。

转自https://blog.csdn.net/jackshiny/article/details/43838919

 

空指针:

一般声明一个指针变量赋值为NULL,这就是空指针,各个类型的空指针都存在确确实实的内存地址,但是不会指向任何有效的值的内存地址,对空指针操作,例如访问属性和方法,会抛出空指针异常,因为空指针指向的内存地址没有对应的物理地址。

 

野指针:

指那些释放内存,但是指针赋值为空,这时候的指针指向任意地址,好可怕,例如指向内核地址或不属于本程序的内存地址,程序会被kill,即奔溃。

 

内存泄漏:

分为堆泄露和资源泄露 两种,内存分配失败或者内存分配成功却没有指针指向它(即无法操作该内存),会导致内存分配的越来越多,导致系统内存不够而终止程序

以上是关于空指针——野指针——内存泄漏的主要内容,如果未能解决你的问题,请参考以下文章

智能指针(解决你的内存泄漏)

游戏开发岗面经总结6(unity优化总结,全局变量和全局静态变量,NULL和nullptr的区别,拷贝构造函数和赋值运算符的区别,深浅拷贝,哈希碰撞,TOPK问题,野指针问题,堆和栈,内存泄漏)

智能指针(解决你的内存泄漏)

智能指针(解决你的内存泄漏)

Node.js中的内存泄漏分析

将指针推回指针向量是不是存在内存泄漏?