vb中函数的调用与参数的传递  

调用过程   

按值传递(ByVal:形参和实参占有不同的存储空间,调用过程改变了形参变量的值,实参的值不会受影响。调用结束后,实参还是调用之前的值,

Private Sub Command1_Click()
Dim x As Integer
x = 6
Print "调用sub过程前x="; x
Call test(x)
Print "调用sub过程后x="; x
End Sub
Sub test(ByVal m As Integer)
m = m + 5
End Sub

按地址传递(ByRef,默认的传递方式):调用过程,实参变量的地址传递给形参,使用相同的地址,因此使用相同的数据类型,只有实参是变量或数组时才能按地址传递,如果是常量,实际进行的是按值传递

Private Sub Command1_Click()
Dim x As Integer
x = 6
Print "调用sub过程前x="; x
Call test(x)
Print "调用sub过程后x="; x
End Sub
Sub test(ByRef m As Integer)
m = m + 5
End Sub

数组做参数时是按地址传递参数的,不能使用关键字“ByVal”修饰形参