微信

使用微信服务,更方便

职友集>程序员面试题 > 内存泄露和内存溢出是什么?他们之间的区别是什么?

内存泄露和内存溢出是什么?他们之间的区别是什么?

2015-05-18 06:30:01 阅读( 136 )

977人 收藏本页

标签:程序员面试题

内存泄漏指由于疏忽或错误造成程序未能释放已经不再使用的内存的情况,是应用程序分配某段内存后,由于设计错误,失去了对该段内存的控制,因而造成了内存的浪费。
一般我们常说的内存泄漏是指堆内存的泄漏。堆内存是指程序从堆中分配的,大小任意的(内存块的大小可以在程序运行期决定),使用完后必须显示释放的内存。应用程序一般使用malloc,realloc,new等函数从堆中分配到一块内存,使用完后,程序必须负责相应的调用free或delete释放该内存块,否则,这块内存就不能被再次使用,我们就说这块内存泄漏了。
内存溢是指在一个域中输入的数据超过它的要求而且没有对此作出处理引发的数据溢出问题,多余的数据就可以作为指令在计算机上运行。

来自分智网

下一篇:网友分享的程序员面试题

上一篇:重载(overload)和重写(overried,也叫做“覆盖”)的区别

亲~ 如果您有更好的答案 可在评论区发表您独到的见解。

您想查看更多的信息: 面试题