例题:设计一个过程Change ( )用于交换两个变量的值,然后在Form_ Click()事件中调用该过程依次交换X,Y和M,N的值。
Private Sub Change(A As Integer, B AsInteger)
Dimt As Integer
t = A
A = B
B = t
End Sub
Private Sub Form_Click()
DimX As Integer, Y As Integer
Dim M As Integer, N As Integer
X = 1: Y = 2: M = 3: N = 4
Print X, Y, M, N
CallChange(X, Y)
CallChange(M, N)
Print X, Y, M, N
End Sub
通常情况下,我们将过程中定义的参数称为形式参数,简称形参,而调用时的参数称为实在(际)参数,简称实参。
例如: Sub Change(A As Integer, B As Integer)
中的参数A和B就是形参;
而在调用过程中,Call Change(X, Y)
中的参数X和Y就是实参。
调用过程时,要完成参数的传递,即将实参传递为形参。
程序中过程调用时参数传递有两种类型:按值传递和按地址传递
u按地址传递
按地址传递就是将实参的地址传递给形参。其调用过程可表示为:

v按值传递
按值传递就是将实参的值传递给形参,若要用按值传递参数,定义过程中声明形式参数时需要用 ByVal关键字进行声明。
例如,若将上面例题中的过程定义为:
Private Sub Change(ByVal A As Integer, ByVal B As Integer)
Dimt As Integer
t = A
A = B
B = t
End Sub
按值传递的调用过程可表示为:
