首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >递归函数的内存分配

递归函数的内存分配
EN

Stack Overflow用户
提问于 2014-04-21 05:24:59
回答 11查看 14.5K关注 0票数 6

调用递归函数时如何分配内存?一个函数有它自己分配的内存。当调用它时,参数(而不是引用传递的参数)和变量将获得内存。因此,当函数从其体内再次调用时,内存是如何分配给第二个调用的变量和参数的?

EN

Stack Overflow用户

发布于 2014-04-21 05:31:25

函数参数和局部变量被分配到堆栈上。他们形成了一个所谓的堆栈框架.当函数被递归调用时,为函数的每个递归调用分配堆栈帧。

例如,如果void ()被递归地调用了三次。

代码语言:javascript
复制
// Assume stack grows upwards
stack frame #3 <== the most recent call
stack frame #2
stack frame #1
票数 1
EN
查看全部 11 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23191320

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档