用malloc分配了内存,而不用free释放,有什么问题么?

povety 2002-11-01 08:44:49
一个函数中间用到,且被多次调用。于是在第一次调用时,动态分配内存,在因为不知道什么时候结束,而无法释放。一直等到main()结束于系统收回,不知有没有什么问题,是不是一个好的编程习惯呢?如
float function(float y[])
{
static int count=0;
static float* yy;
if (!count) {count++;yy=(float*)malloac(...
...
}
...全文
284 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
cwanter 2002-11-01
  • 打赏
  • 举报
回复
如果没有修改系统的话,就没关系!
povety 2002-11-01
  • 打赏
  • 举报
回复
也就是说,不论何种情况,只要这个程序结束了,就没关系了,是么?
carbon107 2002-11-01
  • 打赏
  • 举报
回复
对于好的编程习惯应是用free来释放内存空间
但是如果你不用free来释放空间的话程序小不会出现什么问题但是如果审请的空间大的话就会出现错误了
cwanter 2002-11-01
  • 打赏
  • 举报
回复
这就是所谓的"内存泄漏".你不释放动态分配的内存,会导致进程能用的虚拟内存越来越少而使程序当掉。当然进程撤消后,它所占用的所有资源(包括内存)都会被释放。

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧