简述对按值传递和按地址传递的理解(150字以上)
打个比方: 我手里有一张纸,纸上画着一只猫. 现在,你想知道猫长什么样子,我把手里的纸给你看看,然后你在自己的纸上也画了一只猫,我们假设拟是个天才,画出来的猫和我的一模一样.现在,你感觉这只猫猫有点丑,就给它添了几根毛.现在,你手里的猫和我的猫就不一样了.最终结果是你有一只猫,我也有一只猫.这就是按值传递的意思.其实质是复制(COPY). 如果我觉得你自己可能画得不像,而我手里这张纸又没有多大用处,我就干脆把自己的这张画给了你,然后你自己怎么删改那是你自己的事情了,但是你要是一不小心给改坏了,不好意思,世上仅此一份,我给你了,再要就没有了!这就是按址传递,实质是赐予(GIVE).
输入一个数,按按值传递和按地址传递参数进行加1操作。
设计步骤如下:
① 建立应用程序用户界面和添加控件,并设置各对象的属性.按值传递和按地址传递参数
② 编写事件代码。
编写Add1和Add2通用过程代码:
Sub Add1(ByVal x As Integer) ' 按值传递参数
x = x + 1
End Sub
Sub Add2(ByRef y As Integer) ' 按地址传递参数
y = y + 1
End Sub
编写“按值传递”命令按钮Button1的Click过程代码:
Private Sub Button1_Click(ByVal sender As System.Object,_
ByVal e As System.EventArgs) Handles Button1.Click
Dim i As Integer
i = TextBox1.Text
Add1(i)
TextBox2.Text = i
End Sub
编写“按地址传递”命令按钮Button2的Click过程代码:
Private Sub Button2_Click(ByVal sender As System.Object,_
ByVal e As System.EventArgs) Handles Button2.Click
Dim i As Integer
i = TextBox1.Text
Add2(i)
TextBox2.Text = i
End Sub
'注意:传地址,对行参的任何操作都变成对相应实参的操作,实参的值会随过程体内行参的改变而改变.
'例如:add2(i)当调用时,改变了地址,即地址值加"一".
参与评论- 相关内容
- 最近更新
- ·简单的指针与二维数组的问题
- ·诺基亚手机5300、6300、7500性比..
- ·手机的GPS功能是指什么?
- ·一般手机用多长时间就不行了?
- ·诺基亚n82能看电视吗
- ·手机充电的问题
- ·诺基亚3230删除问题
- ·请都诺基亚6120C
- ·诺基亚N70
- ·索爱K790怎么装主题啊
添加到百度搜藏