VB参数参数传递中,传值与传址的区别
3个回答
展开全部
传址参数在子过程里面的改变会影响过程外的对应参数,传值则不会,VB里面默认是传址也就是byref的
比如:sub
f(byref
a
as
integer)
a=1
end
sub
主函数中:f
i,此时i=1
而sub
f(byval
a
as
integer)
a=1
end
sub
主函数中:f
i,此时i的值没变
比如:sub
f(byref
a
as
integer)
a=1
end
sub
主函数中:f
i,此时i=1
而sub
f(byval
a
as
integer)
a=1
end
sub
主函数中:f
i,此时i的值没变
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
定义的区别:Byval和Byref
Private
sub
传值(Byval
a
As
Integer)
a=5
End
Sub
Private
sub
传址(ByRef
a
As
Integer)
a=5
End
Sub
调用上的区别:
Mya
=
6
call
传值(Mya)
'调用传值
Print
Mya
'结果不变为6
call
传址(Mya)
'调用传址
Print
Mya
'结果变为5
简单的理解:传值情况,外部变量与自定义过程内的变量是两个
传址情况,外部变量与自定义过程内的变量就是同一个
Private
sub
传值(Byval
a
As
Integer)
a=5
End
Sub
Private
sub
传址(ByRef
a
As
Integer)
a=5
End
Sub
调用上的区别:
Mya
=
6
call
传值(Mya)
'调用传值
Mya
'结果不变为6
call
传址(Mya)
'调用传址
Mya
'结果变为5
简单的理解:传值情况,外部变量与自定义过程内的变量是两个
传址情况,外部变量与自定义过程内的变量就是同一个
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询