VB调用过程中参数传递解析.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VB调用过程中参数传递解析

VB调用过程中参数传递解析   摘要:VB编程中参数过程的调用是重点和难点,特别是调用过程中的参数传递,学生难于理解和掌握,本文结合实例,深入分析参数传递中的两种方式,并对两种方式进行举例说明,对于学生理解和掌握参数传递的过程十分重要。   关键词:过程调用 参数传递   使用Visual Basic(简称VB)编写程序,除了需要进行界面设计,还需要大量的程序代码的编写,为了便于程序的调试与维护、提高代码的利用率,就需要将程序分为若干模块和子模块,并采用过程的调用来实现。在VB教学工作中,过程调用中的参数传递往往是学生最难理解和掌握的知识点,本文结合实例对参数传递的两种方式进行深入的分析和说明,方便学生的理解和使用。   一、参数的概念   参数是过程与外界通信的媒介,有与外层程序互相传递消息的使命。参数分为形式参数和实在参数。   1.形式参数是指出现在过程中参数,简称形参。实在参数是指调用过程时使用的参数,简称实参。   2.实在参数与形式参数表中的参数名可以相同,也可以不同。但实参表中的参数类型与形参表中的数据类型必须一致。   3.实在参数与形式参数发生数据传递时,数据是一一对应的。即实参表中的第一个参数必须只能传给形参表中的第一个参数。   二、参数传递的方式   在VB中,根据参数的值是否能回传,也就是说,根据运算后的形式参数值能否再传递给与它相应的实在参数,而把参数传递分为两种方式:按值传递和按地址传递。   1.按值传递。这种传递方式只能是在调用过程时,主程序将值传递给形参,而不能在运算后形参的值再传递回来给实参。也就是说,这种传递方式只能是单向的,即使形参的值发生了改变,也不会影响到调用该过程的语句中实参的值。   例如:   Private Sub Form_Activate()   Const A%=5   Print 5,A,3+5   Call exam1(5,A,3+5)   Print 5,A,3+5   End Sub   Private Sub exam1(x,y,z)   X=x*2   Y=y+3   Z=z^2   Print x,y,z   End Sub   主程序的第一条语句,是在声明符号常量,即让A的值在此程序中永远等于5。此时执行到第二条语句时,在窗体中输出常量值5、符号常量值5、和表达式3+5的值,即8。第三条语句时,实现了过程调用中的参数传递,即把常量5传递给了子程序exam1中的x,符号常量A的值5传递给了子程序中的y,把表达式3+5的值8传递给了子程序的Z。转到子程序后,按照子程序的过程,再分别x、y、z的新值,这时,执行子程序中的Print x,y,z,即输出新的x、y、z的值。执行到子程序中的End Sub语句后,返回主程序的第四条语句。   由于在刚刚进行的参数传递的过程中,主程序中的实参均是常量(常量值不受任何外界影响,永远都不会变化),所以过程在被调用时对形参的任何改变都不会影响到实参,这段主程序中的实参并没有因为子程序而发生任何的变化。   由此分析,此程序的运行结果为:5 5 8   10 8 64   5 5 8   此过程即为参数传递中的按值传递。   2.按地址传递。这种传递方式不是将实在参数的值传递给了形式参数,而是将存放实在参数值的内存中的存储单元地址一起传递给了形参,此时形参和实参具有相同的存储单元地址,也就是说,如果一旦形参的值发生改变,实参的值也会随之一起变化,并且实参会将改变后的值带回到调用该过程的程序里面,这种参数传递方式是双向的。   例如:   Private Sub Form_Activate()   Dim a%,b%,c%   A=5:b=5:c=8   Print a,b,c   Call exam (a,b,c)   Print a,b,c   End sub   Private Sub exam(x,y,z)   X=x*2   Y=y+3   Z=z^2   End sub   此例题与上一例题有稍许改动,但意义和执行过程就有了很大的变化。   主程序中的第一条语句,定义了三个变量:a、b、c。第二条语句分别给a、b、c赋值。执行到第四条语句时,调用子程序exam,在调用的过程中,将a的值传递给了子程序中的形参x,将b的值给了形参y,将c的值传递给形参Z。由于实在参数在传递时为变量,所以传递的过程中,实参不仅将值传递给了形参,并且将存储它们的地址单元一起传递了过去,即此时实参a与形参x共用一个存储地址单元。同理,实参b与形参y共用一个地址单元,实参c与形参z共用同一地址。调用子程序后,子程序中分别对x、y、z的值进行了新的计算

文档评论(0)

fangsheke66 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档