vb 参数传递规则.ppt

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
vb 参数传递规则

* 参数传递规则 1、过程调用的复习 主过程: Sub Form_Click () Dim a As Integer Dim b As Integer a = 5 : b = 10 Call max(a, b) End Sub 被调用过程: Sub max(Byval x As Integer, y As Integer) If x = y Then Print x Else Print y End If End Sub 主过程中的“Call max(a,b)” 是过程调用语句。执行该语句后,程序转到子过程max内执行,同时把主过程中的实参变量a、b的值传递给形参变量x、y,这就产生了参数的传递。 主过程的实参(a,b) 参数传递的发生 子过程的形参(x,y) 参数传递 2、参数传递的方式 a、按值传递 修饰符:Byval 实参a: 形参x: 把实参的值复制给形参 5 b、按地址传递 修饰符为Byref或缺省 实参b: 形参y: 5 10 实参与形参共用同一存储单元 3、按值传递与按地址传递的区别 注意 在过程(函数)中,对于按值传递方式, 形参变量值的改变与实参无关(形参与实 参使用不同的存储单元);对于按地址传 递方式,形参变量值的改变同样影响实参 (形参与实参占用同一存储单元)。 Sub Form_Click () Dim a As Integer Dim b As Integer a = 5 : b = 10 Call p(a, b) Print a , b End Sub Sub p(Byval x As Integer, y As Integer) x = x * x y = y * y Print x , y Print x + y End Sub 主过程: 被调用过程: 举例说明 25 100 125 5 100 输出结果: 实参a: 形参x: 5 实参b: 形参y: 5 ? 25 10 ? 100 程序分析 按值传递 ( Byval ) 按地址传递 (缺省修饰符) 4、如何判断参数传递方式 a、按值传递 形参声明处修饰符是“Byval” 如果实参是一个常量或表达式,尽管形参声明为按地址传递,实际还是按值传递。 b、按地址传递 形参声明处修饰符是“Byref”或缺省 形参为数组时,数组参数只有按地址传递1种方式。 被调用过程: Sub p(a As Integer, ByVal b As Integer) b = a + b a = b Mod 4 Print a , b End Sub 主过程: Dim x As Integer,y As Integer Sub Form_Click() x = 4 : y = 5 Call P(y,x) : Print x,y Call P(x,x) : Print x,y Call P(y,x) : Print x,y End Sub 5、应用举例 阅读程序,写出程序运行后,单击窗体,窗体上的输出结果。 第一次调用 第二次调用 第三次调用 输出结果 6、小结 正确辨别在过程调用时参数传递的两种方式 理解按值传递和按地址传递的规则和它们的区别 能够利用参数传递规则对程序分析 实参x: 形参b: 实参y: 形参a: Sub p(a As Integer, ByVal b As Integer) b = a + b a = b Mod 4 Print a , b End Sub 1 9 4 1 第一次调用分析 返回 4 4?9 5?1 被调用过程: 输出结果: * * *

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档