ximu_007 2023-07-07 00:06 采纳率: 100%
浏览 14
已结题

无限循环中分配的资源如何释放

c语言项目中,无限循环中用到了前面分配的内存,请问这个内存需要释放吗?怎么释放?

  • 写回答

3条回答 默认 最新

  • 於黾 2023-07-07 08:12
    关注

    是否需要释放,不是看你内存是否是动态申请的,而是看你是在哪里申请的
    如果你是在循环外面申请的,循环里面用,那当然不释放,释放了反倒造成后面访问到野指针
    如果你的内存本身就是在循环里面申请的,那循环结束前必须释放,否则就造成一直申请而不释放,内存越申请越多,最终崩溃
    这就是传说中的内存泄漏
    有的时候你定义一个数组,是可以反复用的,把值覆盖掉就行了,内存不用非要搞一片新的,那就在循环外申请,不要释放
    总之释放不释放是根据你整个业务来的

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 7月15日
  • 已采纳回答 7月7日
  • 创建了问题 7月7日