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)
Print 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)和传地址(ByRef)的区别相关推荐
- JavaScript 函数参数是传值(byVal)还是传址(byRef)?
对于"JavaScript 函数参数是传值(byVal)还是传址(byRef)"这个问题,普遍存在一个误区:number,string等"简单类型"是传值,Nu ...
- C语言交换函数:传值函数与传址函数的区别
1.传址函数典例 想必初识C语言函数的同学会遇到这样的问题: 当你想要写一个交换函数:交换输入的两个数字的值.明明将要传的两个数字传上去了,函数里的交换写法也没有问题,可为什么运行时会错呢?这就牵扯到 ...
- thinkphp5中的系统文件上传和$_FILES用法区别
thinkphp5中的系统文件上传和$_FILES用法区别 $aa=request()->file('file');$bb=$aa->getInfo(); 后面的file是文件的名字 $b ...
- 传值调用 与传地址调用(传引用)
转自:http://myturn.blog.hexun.com/15584978_d.html #include <iostream> using namespace std ; void ...
- VB中的ByVal和ByRef的区别
ByVal是按值传递,形参的改变不会造成实参的改变. ByRef是按地址传递,形参的改变会造成实参的改变. 这就像是其它语言中的引用传递一样,如php中的 &$args 举个例子: Modul ...
- 在pom.xml中配置nexus上传地址
2019独角兽企业重金招聘Python工程师标准>>> <distributionManagement> <repository> ...
- Java的形参、实参与传值调用、传地址调用
形参:方法声明时小括号内声明的变量,如下面的 int i: void fun(int i){i=i+1; } 是为了声明此方法需要传入的参数类型.在方法被调用时创建,在方法结束时销毁,只作用于方法内部 ...
- 传值调用,传名调用,引用调用,复制恢复
传值调用,传名调用,引用调用,复制恢复 例1 1 传值调用 2 引用调用 --传地址引用 3 复制恢复 4 传名调用 例2 例1 程序运行时的存储空间组织如图7-1所示. 其中代码区用于存放目标程序代 ...
- VB中ByVal和ByRef
这是vb中传值与传址的参数修饰 byval 是按值传送,在传的过程中不会改变原来的值,仅仅传送的是一个副本,而 byref 相反,从内存地址来说,后者是同一个内存地址 ByVal为传值,当你把函数外的 ...
最新文章
- Java中的I/O模型总结(八股文自述)
- 《C++程序设计教程(第3版)》——第3章,第2节cout输出流
- JESD204B与LVDS接口并行 管线式ADC延迟问题分析及解答
- 并发环境下HashMap引起的full gc排查
- 常见.Net 英文专业词汇收集
- Hadoop中Context类的作用
- MyEclipse完好提示配置
- Inscribed Figures
- python3 long类型_Python3 基本数据类型
- Jquery $ 符号讲解
- Hyper-v Server 2012 Release Candidate 部署体验
- gevent 学习笔记一
- android listview item置顶,ListView的item置顶
- 织梦检测环境不支持mysql_本地测试织梦dedeCMS 安装环境
- LeetCode数据库 180. 连续出现的数字
- ECMAScript 5 —— 基本包装类型之String(下)
- 上海车展自动驾驶产业链盘点
- c语言ODBC连接数据库
- 计算机基础知识及键盘熟悉实验报告,微型计算机组成和键盘操作 实验报告
- JS基础-百度换肤案例