形参如果是数组必须加小括号 如:定义过程 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”修饰形参 |
|