VB中按值传递和引用传递区别最好是程序实例说明下

2025-05-01 02:34:29
推荐回答(1个)
回答1:

你说的是按值传递(byval)跟按址传递(byref)吗?

区别:
按值传递时(ByVal),形参的改变不会影响到实参
按址传递时(ByRef),形参的改变,会影响到实参

一个例子:

Private Sub Command1_Click()
Dim i As Integer
i = 10
Call test(i)
Print i
End Sub

Private Sub test(ByVal a As Integer)
a = a + 10
End Sub

输出10,形参的改变不会影响到实参

如果把Private Sub test(ByVal a As Integer)改成Private Sub test(ByRef a As Integer)


Private Sub Command1_Click()
Dim i As Integer
i = 10
Call test(i)
Print i
End Sub

Private Sub test(ByRef a As Integer)
a = a + 10
End Sub

会输出20,形参的改变,会影响到实参