永发信息网

malloc()&free()

答案:2  悬赏:60  手机版
解决时间 2021-05-10 13:43
  • 提问者网友:箛茗
  • 2021-05-10 00:11
书上有句话说malloc&free这两个函数必须配对使用,可是它上面又有好多例子都只写了malloc后就没了。比方说在建立链表的时候,要循环生成节点,这样分配的内存是不是也要用循环语句来释放呢?
最佳答案
  • 五星知识达人网友:躲不过心动
  • 2021-05-10 01:05
程序里用malloc分配的内存如果不用free在程序未结束之前会一直驻留内存

所以如果你代码不自己free,程序结束后操作系统会自动把所有程序使用到的资源回收,相应的malloc出来的内存也会被释放掉,俗称“让os帮你擦屁股”

不过malloc和free,分配和释放配对是一种好的编码习惯,小代码里看不出有什么区别,但是在实际工程中一些较大的商业化软件中或者极端复杂的代码实现里,如果分配出来的内存没有及时在它没有用时释放掉,那么就会造成内存泄露,程序会持续不断地吞噬你系统之中的可用内存直至系统die掉,这是个很严重的问题- -
全部回答
  • 1楼网友:拜訪者
  • 2021-05-10 01:33
不是还有删除结点的么 看看
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯