- 1、本文档共41页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 第九章 运行时存储空间组织 第一页,共四十一页。 目标程序运行时的活动 过程的活动 一个过程的活动指该过程的一次执行。 参数传递 1. 参数 形参:过程定义时出现 实参:过程调用时出现 2. 参数传递的途径: 传地址(call by reference) 传值 (call by value) 传名(换名)(call by name) 第二页,共四十一页。 参数传递途径——传地址 把实参的地址传递给相应的形参。 过程段中每个形参都有相应单元,称为形式单元,用来存放相应实参的地址。 若实参是变量则直接传递地址,若实参是常数或表达式,则先计算其值并存放于某一临时单元,再传递临时单元的地址。 传结果(call by reference)与传地址相似,其实质:每个形参对应两个单元,第一个单元存放实参地址,第二个存放实参的值。过程体中对形参的动作均看成对第二个单元的直接访问,在过程完成返回前必须把第二个单元的内容存放到第一个单元所指的实参单元中。 第三页,共四十一页。 Procedure s); var j:real; begin j:=n; n:=m; m:=j; end 传地址过程 调用s(i))的过程: (1)将i,k(i)地址传递到已知单元J1和J2中 (2) n:=J1; m:=J2; (3) j:=n↑; (4) n↑:=m↑; (5) m↑:=j; 第四页,共四十一页。 参数传递途径——传值 Procedure s); var j:real; begin j:=n; n:=m; m:=j; end 传值过程 a:=1;b:=2;调用s)执行过程: n:=a m:=b j:=n n:=m m:=j 局部变量m,n,j的值改变,但不影响a,b的值 第五页,共四十一页。 参数传递途径——传名 把被调用段的过程体抄到调用出现的位置,并将形参替换成相应实参(文字替换)。 Procedure s); var j:real; begin j:=n; n:=m; m:=j; end 传名过程 调用s(i))的过程: j:=i; i:=k(i); k(i):=j; 第六页,共四十一页。 对于下面程序: Procedure p (x,y,z) ; begin y:=y+1; z:=z+x; end; {p} begin a:=2; b:=3; p (a+b , a , a) print a end. 若参数传递的方法分别为 (1)传名(2)传地址 (3)传结果 (4)传值。 执行时所输出的a分别是什么? 第七页,共四十一页。 参数传递方式为“传名” Procedure p (a+b,a,a) ; begin a:=a+1; a:=a+a+b; end; {p} 此时调用者数据区为(a): 执行a:=a+1后数据区为(b): 执行a:=a+a+b后数据区为(c): 3 2 b: a: (a) 3 3 b: a: (b) 3 9 b: a: (c) 程序输出结果a为9 第八页,共四十一页。 参数传递方式为“传地址” 3 2 b: a: 调用者数据区 5 临时单元T: (a+b的值) a T y: x: 被调用者数据区 a z: 执行语句y:=y+1后 3 3 b: a: 调用者数据区 5 临时单元T: (a+b的值) a T y: x: 被调用者数据区 a z: 第九页,共四十一页。 参数传递方式为“传地址” 执行语句z:=z+x后 3 8 b: a: 调用者数据区 5 临时单元T: (a+b的值) a T y: x: 被调用者数据区 a z: 程序输出结果a为8 第十页,共四十一页。 参数传递方式为“传结果” 3 2 b: a: 调用者数据区 5 临时单元T: (a+b的值) 执行语句y:=y+1后
您可能关注的文档
- 报表项目常见风险因素的分析.ppt
- 报关员培训之报关程序讲解.ppt
- 北京市职工生育保险政策解读.ppt
- 标书制作流程.ppt
- 安保培训教材.ppt
- 大同市农村财会人员培训教程.ppt
- NCV产品培训保证金管理.ppt
- 爆破设计与施工培训课件.ppt
- 爱婴医院创建小时培训课程(第章).ppt
- Oracle数据库讲义(第五章).ppt
- 2024年江西省高考政治试卷真题(含答案逐题解析).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)物理试卷(含答案详解).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)地理试卷(含答案详解).pdf
- 2024年内蒙通辽市中考化学试卷(含答案逐题解析).docx
- 2024年四川省攀枝花市中考化学试卷真题(含答案详解).docx
- (一模)长春市2025届高三质量监测(一)化学试卷(含答案).pdf
- 2024年安徽省高考政治试卷(含答案逐题解析).pdf
- (一模)长春市2025届高三质量监测(一)生物试卷(含答案).pdf
- 2024年湖南省高考政治试卷真题(含答案逐题解析).docx
- 2024年安徽省高考政治试卷(含答案逐题解析).docx
文档评论(0)