C语言中的malloc函数与free函数一定要配对吗?

om13568 2010-10-13 09:42:34
在程序中用malloc申请了内存空间,就一定要用free函数释放掉吗?
...全文
815 35 打赏 收藏 转发到动态 举报
写回复
用AI写文章
35 条回复
切换为时间正序
请发表友善的回复…
发表回复
旭子 2010-10-16
  • 打赏
  • 举报
回复
<p> ..... </p>
沭水河畔 2010-10-16
  • 打赏
  • 举报
回复
malloc是在堆上分配内存,必须free。alloca是在栈上分配内存,所以无需free。
kingbigeast 2010-10-14
  • 打赏
  • 举报
回复
如果不free,申请的内存不被释放,当你申请的动态内存多的时候就会出现问题。不过当程序结束的时候会自动释放,所以小的程序不free也没问题,不过习惯不好。
cuglgeegee 2010-10-14
  • 打赏
  • 举报
回复
期望退出进程后自动free,就如同大便之后等待他自然风干。。。
adream99 2010-10-14
  • 打赏
  • 举报
回复
相当于:借的钱一定要还啊
赵4老师 2010-10-14
  • 打赏
  • 举报
回复
尽管进程退出时操作系统会将程序中malloc但没有free的自动free,但就怕你程序僵死或7x24小时不退出或循环malloc将系统内存用光。所以还是做一个有始有终的君子吧。

虎头蛇尾是俗人的习惯,
有始有终是君子的操守。
yxl_xx 2010-10-14
  • 打赏
  • 举报
回复
是的 不释放的话 会出现内存溢出的
表现为程序运行中中断
jackyloncoln 2010-10-14
  • 打赏
  • 举报
回复
不但要释放,释放后要将指针置NULL
fireyou 2010-10-14
  • 打赏
  • 举报
回复
使用free是一个良好的习惯
robertbo 2010-10-14
  • 打赏
  • 举报
回复
不配对出现的程序不严谨~
bobo364 2010-10-14
  • 打赏
  • 举报
回复
最好是这样,不报错也可能会内存泄漏
wizard_tiger 2010-10-14
  • 打赏
  • 举报
回复
习惯罢了!不过如不释放的话内存会越用越少。
luciferisnotsatan 2010-10-14
  • 打赏
  • 举报
回复
肯定的
小魔菇 2010-10-14
  • 打赏
  • 举报
回复
必须的
要不然内存会用会少 用着用着内存就不够用了 程序就玩完了
alexhilton 2010-10-14
  • 打赏
  • 举报
回复
当然可以不配对,只不过会造成内存泄漏而已。
  • 打赏
  • 举报
回复
每天回帖即可获得10分可用分!小技巧:教您如何更快获得可用分
mLee79 2010-10-14
  • 打赏
  • 举报
回复
个人不稀饭 malloc/free 的堆管理方式, 自己管理内存好玩些...
just334455 2010-10-14
  • 打赏
  • 举报
回复
一般是要这么做!!!否则就会有内存漏洞,,,,
还有就是不安全,,,容易被攻击或漏洞利用
很危险!!!
但是要是那种用一下就结束的,,,应该问题不大
因为常驻内存才会发生上述问题!!
(个人意见,,仅供参考)
dazhi316 2010-10-14
  • 打赏
  • 举报
回复
肯定的呀
jsjs5200 2010-10-14
  • 打赏
  • 举报
回复
是的啊~~~第一 这是一个编程的良好习惯 第二 你如果 malloc了很多空间 不把free掉的话 会使内存越来越少~~~
加载更多回复(15)

69,368

社区成员

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

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