VB传值和传地址问题
2015-10-17 19:43
302 查看
vba
传递参数值时,分为Byval 和Byref
参数分为形参和实参,
形参指的是过程名称中用括号括起来的参数,
实参指的的是调用过程中,向过程传递的数据参数。
可以理解为:形参相当于公式中的自变量,实参相当于使用公式时代入自变量中的具体数值。
Byref,地址传递参数,传递的是地址,过程操作的是变量的地址
Byval,值传递参数,将变量的内容复制了一遍,过程操作的是另外一个变量,只不过这两个变量名称一样,值一样
值传递,相当于传的是一个副本,对于副本的操作不影响正本
地址传递,相当于是一个共有变量,传的是地址,该变量可以在过程中改变。
值传递只是将变量的内容复制一份而已,函数进行操作的其实是另一个变量,只是另一个变量的值和传递的变量值是相同的。
而地址传递是直接把变量的地址传递给函数,这时函数是直接对原来的变量进行操作的。所以值会变化。
举例说吧:值传递就相当于克隆了一个同样的变量,操作的是克隆出来的那个,原来的变量没有变化,但是地址传递是直接对原来的变量进行操作,没有克隆新的变量
传递参数值时,分为Byval 和Byref
参数分为形参和实参,
形参指的是过程名称中用括号括起来的参数,
实参指的的是调用过程中,向过程传递的数据参数。
可以理解为:形参相当于公式中的自变量,实参相当于使用公式时代入自变量中的具体数值。
Byref,地址传递参数,传递的是地址,过程操作的是变量的地址
Byval,值传递参数,将变量的内容复制了一遍,过程操作的是另外一个变量,只不过这两个变量名称一样,值一样
值传递,相当于传的是一个副本,对于副本的操作不影响正本
地址传递,相当于是一个共有变量,传的是地址,该变量可以在过程中改变。
值传递只是将变量的内容复制一份而已,函数进行操作的其实是另一个变量,只是另一个变量的值和传递的变量值是相同的。
而地址传递是直接把变量的地址传递给函数,这时函数是直接对原来的变量进行操作的。所以值会变化。
举例说吧:值传递就相当于克隆了一个同样的变量,操作的是克隆出来的那个,原来的变量没有变化,但是地址传递是直接对原来的变量进行操作,没有克隆新的变量
相关文章推荐
- 难点:VBScript 过程
- 一、VBScript 简介
- 初学vbs一些小代码与小成果
- VBScript过程
- VBScript运算符
- VBScript基础
- VB6.0 支持鼠标滚轮教程
- vlc播放视频(加载视频到内存,解码rmvb视频出现马赛克)
- VirtualBox使用VBoxManage 命令调整分辨率
- Base64算法函数VB6
- 【VBA研究】智力游戏-蓝色方块
- VBscript常用函数
- vbscript编程练习题目
- 自己写的实用VBA代码合集√
- 自己写的实用VBA代码合集
- vb 无边框窗体拖动
- VB+DX游戏编程教程 第五话:2D精灵
- vbs代码如何使用Wscript调试
- 用VBS脚本发邮件
- 需要解决的问题ionic nvbar 和 view的分离