早教吧作业答案频道 -->数学-->
VB传值byval和传地址byref有什么区别?我理解了好久,
题目详情
VB传值byval和传地址byref有什么区别?我理解了好久,
▼优质解答
答案和解析
ByVal 与 ByRef(默认值)
这两个是子过程的参数传递时,指定参数按什么传递的
ByVal(按值传递)
ByRef(按地址传递)
具体这样来理解:
过程中的参数列表,我们称形参
调用过程时的参数列表,我们称实参
在调用时,我们要将实参的值传递给形参,这样过程才能拿这些数据参与计算并实现一些功能
那么在传递的过程中,就存在这两种传递方式
传值时(ByVal),是先给形参开辟一个临时地址,将实参的内容传入这个临时地址,这样,传递后,形参与实参是在两上不同的地址中,也就是说他们是相互独立的
传址时(ByRef),是直接将实参的地址传递给形参,这样,形参与实参就共用一个地址,所以,形参内容的改变,也直接改变了实参的内容
通过上面的分析,你只要记得:
按值传递时(ByVal),形参的改变不会影响到实参
按址传递时(ByRef),形参的改变,会影响到实参
应用时,我们可以利用按址传递的过程,给一个子过程(Sub过程)进行参数返回
例:
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
这两个是子过程的参数传递时,指定参数按什么传递的
ByVal(按值传递)
ByRef(按地址传递)
具体这样来理解:
过程中的参数列表,我们称形参
调用过程时的参数列表,我们称实参
在调用时,我们要将实参的值传递给形参,这样过程才能拿这些数据参与计算并实现一些功能
那么在传递的过程中,就存在这两种传递方式
传值时(ByVal),是先给形参开辟一个临时地址,将实参的内容传入这个临时地址,这样,传递后,形参与实参是在两上不同的地址中,也就是说他们是相互独立的
传址时(ByRef),是直接将实参的地址传递给形参,这样,形参与实参就共用一个地址,所以,形参内容的改变,也直接改变了实参的内容
通过上面的分析,你只要记得:
按值传递时(ByVal),形参的改变不会影响到实参
按址传递时(ByRef),形参的改变,会影响到实参
应用时,我们可以利用按址传递的过程,给一个子过程(Sub过程)进行参数返回
例:
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
看了 VB传值byval和传地址b...的网友还看了以下:
已知字母组合成英语单词1、e e t t i n h r 2、e e r a t w h 3、o 2020-05-14 …
货币的交易需求可由( )函数关系表达。A.L=f(p)B.L=f(r)C.L=f(y)D.L=f(y 2020-05-30 …
关于电子在离开偏转电极后的运动电子在荧光屏上的侧移距离公式y'=tanφ(L'+L/2)这个公式是 2020-06-20 …
X、Y、L、M为核电荷数依次增大的前20号主族元素.X2是最轻的气体,Y、L与M三种元素的质子数均 2020-07-07 …
已知平面区域D={(x,y)|0≤x≤π,0≤y≤π},L为D的正向边界.试证:(1)∮Lxesi 2020-07-20 …
曲线积分原文:设L为xOy面内从点A到点B的一条有向光滑曲线,函数P(x,y)、Q(x,y)在L上 2020-07-31 …
已知平面区域D={(x,y)|0≤x≤π,0≤y≤π},L为D的正向边界.试证:(1)∮Lxesi 2020-07-31 …
matlab如何画一个一般方程表示的椭球椭球曲面的一般方程:a*x^2+b*y^2+c*z^2+2 2020-08-02 …
已知直线l`:√3x=y=0,l``:kx-y+1=0,若l`到l``的夹角为60度,则k的值是?请 2020-11-06 …
(2六l4•徐州模拟)已知二次函数y=d32-(d-l)3-l.(d≠六)(l)求证:这个二次函数的 2020-11-11 …