• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

VB函数中两种参数的区别

发布: 2007-6-21 21:57 | 作者:   | 来源:   | 查看: 15次 | 进入软件测试论坛讨论

领测软件测试网

   
  在各种编程语言中调用函数或过程时,都需要使用参数。VB中使用的参数比较特殊,有两种类型:引用参数和传值参数。正确理解这两种参数对实际编程工作会有很大帮助。

在函数或过程中使用一个参数时,仅使用其值而不能改变其初值,这样的参数称为传值参数,而在使用中初值可以被改变的参数则称为引用参数。在函数或过程中对于引用参数使用的是它本身,某些操作可能会改变参数原来的值;而对于传值参数,则可以理解为操作的是它在另一个地址存储的一个复制品,尽管这个复制品的值可能发生变动,却不会影响传值参数自身。
下面通过一个例子来说明这两种参数的区别:
1、在某窗体的通用说明区中编写一个自定义函数Dou—ble 如下:
Function Double (A As Inte—ger)A=8Double =2*AEnd Function这是一个非常简单的求一个数的两倍的函数,其中参数A 定义为整型,是引用参数。
2、在窗体中放置一个按钮command1,编写command1_click()过程如下:
Private Sub command1_click()Di m A As IntegerDi m B As IntegerA=6B=Double(A)Print "A="+Str$(A)Print "B="+Str$(B)End Sub
在本过程中将A 赋初值6,以A 为参数调用函数Double ,返回值保存在B中。运行程序,结果为:
A=8B=16
从运行结果可以看出,虽然在过程command1_click()中给A 赋初值6,但在语句B=Double (A)调用函数Double 后,Double 函数中又给A 重新赋了值(A=8),从而影响函数的返回值,引用参数A 的初值也被改变。
如果将Double 函数的参数说明项改为(By Val AAs Integer),用By Val 将A说明为传值参数,再运行程序,结果为:A=6B=16
这是由于使用By Val 将A 定义为传值参数,在调用Double 函数时,只是将A 的值传给该函数使用,尽管函数中对A 重新赋了值,但只是对A 的复制品进行操作并影响到函数的返回值,却并不涉及command1_click()过程中的A 本身,因此输出的结果中A 的初值仍为6。

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网