VB中按值传递和按址传递有什么区别,最好能举例说明

 我来答
匿名用户
2013-03-24
展开全部
VB一般情况下只有按值传递

如有参数 A,它的值为5,它在内存中的地址为 H879
dim A as int
A=5
Call XXX(A)

如果是按值传递:传递过去的是一个跟原参数一致的内容,即传过去的是5,在XXX过程中修改该值,不会影响原值.

按址传递:传递过去的是参数本身的地址H879,并非实值,过程中获取该参数的内容是从H879这个内存中的,同时更变该参数的值,也是直接修改地址H879中的内容,导致过程外的A变量的值也会更变.
crazy0qwer
2013-03-24 · TA获得超过3299个赞
知道大有可为答主
回答量:4020
采纳率:71%
帮助的人:1285万
展开全部
按址传递到函数的参数,在函数里面改变该参数后,对应的变量也被改变。
按值传递 的不会改变。
Private Sub Command1_Click()
Dim A As String
A = "调用前"
Call 按址传递(A)
MsgBox A
End Sub

Private Sub Command2_Click()
Dim A As String
A = "调用前"
Call 按值传递(A)
MsgBox A
End Sub

Function 按址传递(ByRef X As String)
X = "按址传递"
End Function

Function 按值传递(ByVal X As String)
X = "按值传递"
End Function
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式