美文网首页
内存泄露,野指针

内存泄露,野指针

作者: 鲨漠里的鱼 | 来源:发表于2017-09-06 23:16 被阅读0次

            堆是动态分配内存的,并且可以分配使用很大的内存,使用不好会产生内存泄露。频繁地使用malloc和free会产生内存碎片。

    所谓内存泄露,是指由于疏忽或错误造成程序未能释放已经不再使用的内存的情况。一般常说的内存泄露是指堆内存的泄露,内存泄露其实并非指内存在物理上的消失,而是应用程序分配某段内存后,由于设计错误,失去了对该段内存的控制,因而造成了内存浪费。

    野指针:是指指向不可用内存的指针。

    产生野指针的三种情况:

    1.任何指针变量在被创建时,不会自动成为NULL指针(空指针),其默认值是随机的,所以指针变量在创建的同时应当被初始化,或者将指针设置为NULL,或者让它指向合法的内存,而不应该放置不理,否则就会成为野指针。

    2.由于指针被释放后(free或delete),未能将其设置为NULL,也会导致该指针变为野指针。

    3.造成野指针的原因是指针操作超越了变量的作用范围。

    相关文章

      网友评论

          本文标题:内存泄露,野指针

          本文链接:https://www.haomeiwen.com/subject/kclbjxtx.html