递归的实质
递归的实质是记录每一次函数调用的入口位置,所以栈溢出存的都是入口函数的地址,我的理解如何 文章1:https://blog.csdn.net/qq_15054345/article/details/103694929文章2:https://blog.csdn.net/gbxiaowang/article/details/105121094
我的参考 栈里应该还有函数的局部变量吧,感觉你理解的差不多。 在调用函数的时候,堆栈所保存的一定是返回地址,永远不会保存函数的入口地址! 当一个函数在运行时,需要为它在 堆栈 中创建一个 栈帧 (stack frame)用来记录运行时产生的相关信息,因此每个函数在执行前都会创建一个栈帧,在它返回时会销毁该栈帧。 递归我的理解可能要结合数据结构中树这种结构,一棵树的一部分还是一棵树,对一个颗树作为参数输入一个函数中,返回结果一颗树,然后返回结果作为输入不断输入到该函数中直到满足一定条件结束
页:
[1]