vb中有时byref和byval两种传递方式是不是效果一样的

最好有实例,没有也无妨

byref是传地址
byval是传值
肯定不一样啊,byref返回后,形参变了,实参也跟着变。byval只是形参变,实参不变.
例:
Dim A as integer,B as integer
A=1
B=2
Call AAA(A,B)
Print A,B '得到的结果是2 3 (形参的改变影响到了实参)
Call BBB(A,B)
Pring A,B '得到的结果跟上面的一样,2 3(形参的改变并没有影响到这个实参)

Sub AAA(I as integer,J as integer) '默认,则按址传递
i=i+1
J=J+1
End Sub

Sub BBB(ByVal I as integer,ByVal J as integer)
i=i+1
J=J+1
End Sub
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-04-16
不一样,一个是注重地址 ,一个是注重数值
就好像 送信 是按收信人还是 收信地址本回答被提问者采纳
相似回答