您的位置:首页 > 编程语言

一个关于按地址传递和按值传递区别的代码,给新手

2007-03-07 00:23 351 查看
测试时直接点窗体就可以了

以下内容复制到窗体代码编辑器:

Option Explicit
Dim mVal As Long
Dim mRef As Long

Private Sub Form_Click()
mByVal mVal
mByRef mRef
End Sub

Private Sub Form_Load()
mVal = 10
mRef = 10
End Sub

'这个函数在调用的时候,用按值传递的方式把mVal传入,然后我们修改一下,看看结果
Private Sub mByVal(ByVal mTemp As Long)
Me.Print "BYVAL演示"
'首先输出原来mVal的值
Me.Print "程序中的mVal:现在数值为" & mVal
'将mTemp修改一下,下面的结果就可以看出,按值传递时mTemp,是原数据的一个副本,改变这个副本,并不对原来的值发生作用
mTemp = 20
Me.Print "程序中的mTemp:现在数值为" & mTemp
'修改之后的结果,并没有影响到原来的数值
Me.Print "程序中的mVal:现在数值为" & mVal
End Sub

'这个函数在调用的时候,用按值传址的方式把mRef传入,然后我们修改一下,看看结果
Private Sub mByRef(mTemp As Long)
Me.Print "BYREF演示"
'首先输出原来mVal的值
Me.Print "程序中的mRef:现在数值为" & mRef
'将mTemp修改一下,下面的结果就可以看出,按址传递时mTemp,是原数据的一个指针,实际上它就是原来的数据,修改它,就修改了原数据
mTemp = 20
Me.Print "程序中的mTemp:现在数值为" & mTemp
'修改之后的结果,影响到原来的数值
Me.Print "程序中的mRef:现在数值为" & mRef
End Sub
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  测试
相关文章推荐