手把手教你c++递归的运行机制

时间:2026-05-18 22:47:09

1、鼠标双击或者右击打开桌面上DEVc++软件,让其运行起来。Dev-C++是一个电脑Windows窗口运行环境下的一款非常适合于刚开始学习c++学者使用的入门级C/C++ 集成开发环境(IDE)。这款软件很自由,遵守GPL许可协议分发源代码。它大大集成了MinGW中的GCC编译器、GDB调试器和 AStyle格式整理器等众多自由软件。非常的试用,而且界面分类清楚,具有很强大的功能。

手把手教你c++递归的运行机制

2、点开文件,选择新建源代码,这时候新建的代码文本还是没有命名的,是一个空命名的文件,下面我们可以通过界面左上角的文件选项,选择另存为,可以存在电脑里任何一个盘,小编为了下次可以更好的找到文件,我存在电脑的桌面上。当然你们可以选择任何一个盘,根据各人所需

手把手教你c++递归的运行机制

3、工作栈

递归函数的每一次调用都要把分配的相应空间保存起来。

系统内部设置一个栈,用于存放每次函数调用与返回所需的各种数 据,其中主要包括函数的调用结束的返回地址,返回值,参数和局部 变量等。

手把手教你c++递归的运行机制

4、递归运行过程大致如下:

 1).计算当前函数的实参的值

2).分配空间,并将首地址压栈,保护现场

3).转到函数体,执行各语句,此前部分会重复发生(递归调用)

 4).直到出口,从栈顶取出相应数据,包括,返回地址,返回值等等, 收回空间,恢复现场,转到上一层的调用位置继续执行本次调用未完 成的语句。

手把手教你c++递归的运行机制

5、栈是一种应用范围广泛的数据结构,适用于各种具有“后进先出”特性的问题

手把手教你c++递归的运行机制

6、栈与过程调用

procedure A1(…); begin

procedure A2(…); begin

procedure A3(…);

begin

r:A2(…); r1:┇

t:A3(…); t1: ┇

end;

end;

end;

手把手教你c++递归的运行机制

7、过程A1在其过程体的某一处调用过程A2,A2以在其过 程体的某一处调用过程A3,A3不调用其他过程。

当过程A1执行到的r处时,它自己实际上被"挂起来,而 被调用过程A2开始运行。一直等到A2执行完毕这后才 返回过程A1的r1处继续执行A1剩下部分。 在过程A2的 上述运行中,由于调用了A3,A2同样在t处"挂"起并一 直等到A3执行结束后返回t1处才能继续执行后继语句。

手把手教你c++递归的运行机制

8、相应的工作栈状态变化

每遇到一个过程调用便立刻将相应的返回位置(及其 它有用的信息)进栈;每当一被调用过程执行结束 时,工作栈栈顶元素下好是此过程的返回位置。

手把手教你c++递归的运行机制

9、是不是很简单,对待c++要勤加练习,熟能生巧,做好笔记,及时温故知新,这样才能学好。

手把手教你c++递归的运行机制

© 2026 猪猪经验网
信息来自网络 所有数据仅供参考
有疑问请联系站长 site.kefu@gmail.com