c语言项目中,无限循环中用到了前面分配的内存,请问这个内存需要释放吗?怎么释放?
3条回答 默认 最新
於黾 2023-07-07 08:12关注是否需要释放,不是看你内存是否是动态申请的,而是看你是在哪里申请的
如果你是在循环外面申请的,循环里面用,那当然不释放,释放了反倒造成后面访问到野指针
如果你的内存本身就是在循环里面申请的,那循环结束前必须释放,否则就造成一直申请而不释放,内存越申请越多,最终崩溃
这就是传说中的内存泄漏
有的时候你定义一个数组,是可以反复用的,把值覆盖掉就行了,内存不用非要搞一片新的,那就在循环外申请,不要释放
总之释放不释放是根据你整个业务来的本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报