c语言中函数递归调用中的压入堆栈是什么意思啊

如题所述

我通俗点说:栈这个东西,你可以想象成手枪的弹夹,你装入子弹后,最后装入的子弹一定是最先打出去的,对吧?这就是栈的先进后出原则。递归函数,你想想,一定是最后执行的函数最先执行完,然后执行倒数第二个...以此类推。压入栈的意思就是现在内存给你一个弹夹,函数就是你的子弹,你把没运行一次这个函数,就是向弹夹里装了一个子弹,这就是压栈。出栈就是当找到递归函数出口后,再倒着一个一个解决刚才一大堆的函数,就像手枪吧子弹一个一个在打出去。关于栈,建议你学学汇编,一下就明白了
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-07-29
递归分两部,先是把复杂的函数分解成简单函数;再有简单函数的值来计算复杂的函数。前面一个过程就是压栈过程
相似回答