VB用在参数前的“ByVal”加不加有什么区别
vb吧
全部回复
仅看楼主
level 5
Nasal◎Resp 楼主
VB用在参数前的“ByVal”加不加有什么区别,网上找不到明确的说法
2018年06月05日 09点06分 1
level 11
byval 传值
byref 传址
若形参前面省略关键字 就等于 byref 传址
2018年06月05日 09点06分 2
传址是什么意思
2018年06月05日 09点06分
@Nasal◎Resp 按地址传送,在函数里修改其值,会带回去主函数
2020年08月06日 06点08分
level 11
1、加与不加
加上叫传值,不加是默认的传址。
2、传值与传址
这个我打个比方。
你问你同桌:张三的电话号码是多少?
你同桌说我的绿皮比较笨的封面上写着,把笔记本递给了你。你可以抄录、可以涂改、可以撕掉。等你把笔记本还给你同桌后,你同桌以后再看这个号码,就不一定是原来的了。这就是传址。
你同桌说我给你抄一个,于是拿出一张字条,照着他的绿皮笔记本的封面抄写后,把纸条给了你,以后他也不跟你要这张纸条了。你在枝条上不论怎么弄,都不会影响他的绿皮笔记本上内容。这就是传值。
3、深入的说。
传址,就是让子过程或函数,访问调用者指定的一个变量。
传值,就是调用者将一个变量的内容转达给子过程或函数,而子过程或函数会令开辟一个内存单元来保存这个内容,然后自己访问,等退出时,这个单元将会被释放。
2018年06月05日 10点06分 3
也就是说 传值不会改变 传址数会改变
2020年02月22日 23点02分
精辟
2020年02月23日 13点02分
[真棒]
2020年06月05日 00点06分
形象👍🏻
2020年10月22日 14点10分
level 9
传值/传址
2018年06月05日 15点06分 4
level 10
我还是那句话,如果刚入门,那就暂且先理解为,参数按地址传递(ByRef)时,在函数里操作参数就相当于操作你调用这个函数时传递给他的变量本身
2018年06月05日 23点06分 5
三楼解释的真形象!66!老大
2018年11月10日 08点11分
level 15
好复杂
2018年06月06日 00点06分 6
传址【ByRef 或不加这个单词】——形参变量的值有进有出;
2020年08月06日 07点08分
传值【ByVal 必须加这个单词】——形参变量的值只进不出。
2020年08月06日 07点08分
@Luosen56 突然看到二个回复.这都啥年月啦.......2018年的问题,回复.....辛苦啦.
2020年08月10日 21点08分
吧务
level 14
一个是把车借你开,一个是把车送你开
2018年06月06日 01点06分 7
吧务
level 13
  传值(ByVal)——主调程序向子程序提供一个变量【x】的具体值,这个变量【x】在子程序中怎么变动,均不影响主调程序。也就是说,仅仅是一个单向传递模式。
  传址(ByRef)——主调程序向子程序提供一个变量【x】的具体值,这个变量【x】在子程序中发生变化后,会在退出子程序时,将变化后的值传回主调程序。也就是说,是双向传递模式。
2020年06月05日 03点06分 10
level 12
新手的话用byval 就是了,程序运行速度更快,也会减少莫名其妙问题。当有特殊需求时才考虑byref比如必须要用参数返回数据时,不然一律byval
2020年10月22日 19点10分 14
1