求解 vB中 按值传递和按地址传递的区别

最好能举个例子哈 拜托了 要考试了,急!!!
2024-11-18 20:42:24
推荐回答(2个)
回答1:

这个很容易理解的


按照值传递,就是把变量的真正数值传递给其它变量或函数


按照地址传递,就是把这个值的内存地址传递给变量或函数


例如一个字符变量 A 中保存的值是字符串 12345,在内存中存储的首地址是 58H


按照值传递,就是把字符串 12345 传递出去


按照地址传递,就是把这个字符串的地址 58H传递出去


如果是按照地址传递,那么保存值的时候就要规定保存的地址,否则你就不知道存在哪里了


如果数据很大,按照地址传递会让程序减轻些负担,就是速度能快一些


或者是使用汇编语言进行编写,则需要使用地址传递数据


这回明白了吧

回答2:

    1. 按地址传递

          VB默认的数据传递方式                

          按地址传递(关键字ByRef):把实参变量的内存地址传递给被调过程(如Sub过程),即形参与实参使用相同的内存地址单元,这样通过过程就可以改变变量本身的值       

          实参必须是变量,不能采用常量或表达式   按值传递(关键字ByVal):通过常量传递实际参数,即传递参数值而不是传递它的地址   因为通用过程不能访问实参的内存地址,因而在通用过程中对形参的任何操作都不会影响实参