📄 kj02-06-04.txt
字号:
在讲到变量时,曾经提到过,变量实际上是指向特定的内存数据单元的指针。当用变量作为实际参数调用过程时,可以采用两种方法将形式参数赋给实际参数。
一种方法是传值调用,即生成新的形式参数变量,并将实际参数值存入该变量。这是最直接的、同时也是容易理解的方式。在这种方式下,形式参数变量一旦被赋值完毕,就与作为实际参数的变量没有任何联系了。换言之,在过程内对形式参数变量所做的任何操作,都不会影响实际参数变量。
另一种方法是传址调用,即只复制实际参数的地址(有了这个地址,同样可以取得实际参数)。在这种情形下,因为,形式参数变量与实际参数变量实际上代表的是同一内存数据单元,所以,在过程内对形式参数变量进行操作,事实上就是对实际参数变量进行操作。在这两种参数传递方式中,传值调用不会对调用程序产生任何负面影响,而传址调用则存在着对调用程序产生负面影响的可能性。但是,传址调用时,由于只需复制形式参数的地址,因此对于存储有大量数据的变量(如字符串、数组等),可获得较高的传递效率。
原则上,在程序设计中,如果不希望过程改变实际参数的值,应使用传值调用方式,否则,应使用传址调用方式。
需要指出的是,在使用传值调用方式时,如果参数是引用类型(如字符串、数组)的,则过程内的语句虽不能为参数赋新值,却能够改变数组元素值或对象成员值。
在Visual Basic.NET中,默认的参数传递方式是传值调用,如果需要使用传址调用方式,必须明确声明。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -