在vb中调用函数或过程,传递参数都有两种方式——传址和传值。其中VB默认是以传址方式传递参数。
一个是Byval,一个是ByRef,前面的表示传值,后面的则表示传址。传值使得子程序调用实际参数后,对实际参数原来的值不发生影响,但传址就不同了,形式参数在子程序中变换的过程,直接影响实际参数值的大小。
Function add(Byval a as integer,Byval b as integer) dim c as integer a=a+1 b=b+1 c=a+b add c end Function
上面的是传值,也就是当调用的时候,例如Add(a,b)这里实际上是等同于Add(a值,b值)如:a=12:b=3,调用Add(a,b)时,系统会把数值12和3传给函数“Add”结果a,b原值未变。但是传址就不一样了同样的功能,我把它改成传址时的模式:
Function add(ByRef a as integer,ByRef b As integer) Dim c As Integer a=a+1 b=b+1 c=a+b add=c End Function
这个时候,如果执行下面的程序段:
a=12:b=3
Add(a,b)
Print a & " " & b
大概的就是这样了!
原文地址:https://www.jb51.cc/vb/256840.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。