函数返回时栈中数据会丢失,那么堆中呢?

ai_shui_shou 2012-08-25 08:34:46
malloc的变量可以return中返回码
...全文
177 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
pathuang68 2012-08-26
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
malloc的变量可以return中返回码
[/Quote]

当然可以,而且返回的东东是可以使用的,但是用完后,要记得free掉函数返回的那个东西。
nightkids_008 2012-08-26
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]
任何变量都可以return返回的

一般C说的是不要返回栈内存上的数据
比如返回指向栈内存的指针
一旦函数调用结束,栈销毁
这个指针指向的内容也就不可预知了

楼主对于内存的管理还是没有理解透彻
[/Quote]
什么都能返回,就是可不可用的问题。
zxc122333 2012-08-26
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
malloc的变量可以return中返回码
[/Quote]

可以的,如楼上,要注意释放
更常见的作法是要求在函数外将空间分配好,指针作为参数传入函数
ies_sweet 2012-08-25
  • 打赏
  • 举报
回复
任何变量都可以return返回的

一般C说的是不要返回栈内存上的数据
比如返回指向栈内存的指针
一旦函数调用结束,栈销毁
这个指针指向的内容也就不可预知了

楼主对于内存的管理还是没有理解透彻
Gloveing 2012-08-25
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
堆中申请的内存要手动释放
不然会内存溢出的
[/Quote]
一般是说是:内存泄露
foxpeter 2012-08-25
  • 打赏
  • 举报
回复
堆中申请的内存要手动释放
不然会内存溢出的
AnYidan 2012-08-25
  • 打赏
  • 举报
回复
malloc的变量可以return中返回码

逻辑混乱!

heap 与 程序的 stack 无关,从 heap 中申请的空间必须由程序远自己释放,程序是不会帮你释放的

70,037

社区成员

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

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