vb 中byval 和 byref 的问题

2024-11-18 12:45:03
推荐回答(4个)
回答1:

byval 是按值传送 (在传给子过程或函数时系统将创建一个该变量的副本—这样一来该变量将独立于子过程(子过程不能修改该变量的值))另一个是按引用传递(传给子过程或函数是变量的地址—在子过程中能改变变量的值(有点类似其它语言的指针—只是不能改变变量地址而已))

回答2:

byref 会改变引用变量的值 vbval则不会

回答3:

byref 是按地址传递参数,ByVal 是按值传递参数。也就是过程中修改参数值后按值传递不会对其他过程产生影响,参数值过程完成后不变。按址传递后修改该参数值会对其他过程产生影响,参数值过程完成后被改变了。

回答4:

改下:

Private Sub proc(ByRef a, ByRef b)
a = a * a
b = b + b
End Sub

Private Sub asd(ByVal a, ByVal b)
a = a * a
b = b + b
End Sub