博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
函数如何调用?
阅读量:4315 次
发布时间:2019-06-06

本文共 483 字,大约阅读时间需要 1 分钟。

//函数的调用解读

/*
当一个函数的运行期间调用另一函数时,在运行被调函数时,系统需要完成三件事:
1.将所有的实际参数,返回地址等信息传递给被调函数保存;
2.为被调函数的局部变量(也包括形参)分配存储空间;
3.将控制转移到被调函数的入口

从被调函数返回主调函数之前,系统也要做三件事:

1.保存被调函数的返回结果;
2.释放被调函数占用的存储空间;
3.依照被调函数保存到返回地址将控制转移到调用函数;

当有多个函数相互调用时,按照“后调用先返回”的原则,上述函数之间信息传递和控制转移必须借助

“栈”来实现,即系统将整个程序运行时所需的数据空间安排在一个栈中,每当一个函数退出时,
就释放他的存储空间,就执行出栈操作,当前运行的函数永远都在栈顶位置;

A函数调用A函数和A函数调用B函数在计算机看来都是没有任何区别的。

*/
/*
1.递归必须得有一个明确的中止条件;
2.该函数所处理的数据规模必须在递减;
3.这个转化必须是可以理解的;
*/

转载于:https://www.cnblogs.com/hujianglang/p/9819101.html

你可能感兴趣的文章
[SDOI 2012]Longge的问题
查看>>
简单BBS项目开始(一)
查看>>
[Codeforces 925C]Big Secret
查看>>
处理MVC中默认的Json方法返回时间的问题
查看>>
分布式技术追踪 2018年第十期
查看>>
IDEA中Git的使用
查看>>
War3模型导出
查看>>
java: 列出本机java环境
查看>>
Python内置函数(19)——eval
查看>>
怎样录制屏幕并将结果保存为Gif
查看>>
别名设置 alias
查看>>
练习3.34
查看>>
oracle加减操作
查看>>
dp乱写3:环形区间dp(数字游戏)
查看>>
【Beta阶段】启程会议——第零次Scrum Meeting!
查看>>
Apple Tree
查看>>
JS 中对变量类型的五种判断方法
查看>>
学习进度十五
查看>>
解决Android Studio启动项目后一直处于refreshing 'View' gradle project,快速解决亲测有效...
查看>>
4.12 | 学习笔记
查看>>