形参如果是数组必须加小括号
如:定义过程 sub em( pay() as Single)
调用过程 em(xu())
按值传递(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”修饰形参