VB中的byRef和byVal

VB中的byRef和byVal

在VB中,提到过程和和函数,一定少不了参数,参数传递时过程中非常重要的问题。通过实际参数和形式参数的传递可以实现调用过程和被调用过程之间的信息交换。在这里首先要明白实参和形参。

一、按值传递参数(ByVal)

  ByVal是把内存数值的拷贝给程序,所以改变的只是拷贝,内存原来的值是不会改变的。
  ByVal :表示该参数是按值方式传递的。 你在函数中修改此参数的值不会造成调用这个函数的函数的变量值的改变。

二、按地址传递参数(ByRef)

  ByRef是把内存地址告诉程序,所以改变的直接就是内存中的数值,VB中默认的参数传递方式是ByRef.
  ByRef :表示该参数按引用方式传递。 在函数中修改此参数的值会造成实参的值发生改变。
Sub test1(ByRef a)
a = a + 1
End Sub
 
Sub test2(ByVal b)
b = b + 1
End Sub
 
Sub main()
x = 5
y = 5
test1 x
test2 y
MsgBox "x=1,  y=1,调用子程序后:" & vbCr & "x=" & x & "    y=" & y
End Sub

这个时候的输出情况是x=6 y=5。

三、总结

byref会修改主调程序的变量值,而byval不会改变主调程序的变量值。

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

进击的横打

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值