问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

在VB中传值调用和传址调用的区别?????

发布网友 发布时间:2022-03-25 19:38

我来回答

2个回答

热心网友 时间:2022-03-25 21:08

传值ByVal是将数值传给形参
我以一个例子讲解
Function add(Byval a as integer,Byval b As integer)
Dim c As Integer
a=a+1
b=b+1
c=a+b
add=c
End Function
上面的是传值,也就是当调用的时候,例如
Add(a,b)
这里实际上是等同于
Add(a值,b值)

如:
aa=12:bb=3
调用Add(aa,bb)时,系统会把数值12和3传给函数“Add”
结果是aa,bb原值未变
但是传址不一样
同样的功能,我把它改成传址时的模式:
Function add(ByRef a as integer,ByRef b As integer)
Dim c As Integer
a=a+1
b=b+1
c=a+b
add=c
End Function
这个时候,如果执行下面的程序段:
aa=12:bb=3
Add(aa,bb)
Print aa & " " & bb
你会发现他们的值变了
因为传值的时候是将数据给函数,这样函数无法对aa,bb这种数据进行修改
形象一点:你去查分,别人把分数读出来给你听,就相当于传值
别人把分数表给你看,(这个时候你可以读取分数,也可以改分数)就是传址。这就是为什么查分的时候都是给你的数值,而不是把你放进教育局自己查档案,嘿嘿
希望对你有帮助
打这么多字好累,给分吧,嘿嘿

热心网友 时间:2022-03-25 22:26

传值的话,在子程序中值改变不会传递到主程序。
传址的话,在子程序中值改变,主程序中也会变。
例子:
a=1
b=2
call fun(a,b)

sub fun(byref a as integer,byval b as integer)
a=3
b=4
end sub

主程序执行完call fun(a,b)后,a=3, b=2
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
新浪微博的气泡是怎么设置的? ...去驾校练车,一直躲避,现在又快两年了,科二还没考,怎么办呀?_百度知 ... 梦见给前任剪头发是什么意思,梦见前男友在理发 梦见前女友变短发的预兆 手机能不能无线接鼠标键盘,这样玩游戏多爽!!特别是玩穿越火线,这是一个... 长虹电视能不能用手机控制? PS怎么放大眼睛ps怎么放大眼睛画面 edwin在日本什么档次 梦见和讨厌的人度蜜月是什么意思 国内10大云服务器厂商,你用过几个? 传值和传引用,传地址的区别是什么 C语言中传值和传地址有什么差别,怎么用的 VB中数据传递的传值和传址的区别 PHP传值和传引用,传地址的区别 C语言传值和传地址的区别! 解释下 传值方式 和 传址方式 VB中传值和传地址有什么区别 VB参数参数传递中,传值与传址的区别 什么是传值,什么是传址(引用)?对此,C/C++与Java中的函数(方法)有什么不同? Java参数传递中的传值和传址的区别 C语言中传值与传址有什么区别 C 语言传址调用和传值调用有什么区别 C语言中传值和传址的区别 VB传值和传址的区别~~~ 参数传递的“传值”和“传址”有什么区别 传值和传址的区别 iPhone xs 和 iPhone xs max 到底有什么区别 苹果xs max256g多少钱 港版iPhone xs Max和美版无锁iPhone xs Max那个好? 买苹果xs好还是买xs max好? python关于函数的传值和传址到底是怎么回事 C++关于函数的传值和传地址传引用的区别? 华为p10能支持40w快充吗? 华为p10支持快充吗 华为 P10有快充技术吗? 华为p10快充是多少w? 华为p10能不能66W超级快充? 华为p10有快速充电吗 华为P10是快速充电吗 华为p10能用快充吗 华为p10有超级快充吗 华为p10有快充的功能吗 华为p10可以快冲吗 华为手机P10支持快充吗 华为p10可以快充吗 华为P10能用65w快充吗? 华为p10是不是快充 华为p10用9v2A快充可以吗 华为P10可以用5A的超级快充充电器吗? 华为p10怎么开启快充