VB基础教程:第六章第三节参数的传递
6.3参数的传输
1.正式参与辩论的概念
Parameter:指出Sub和Function过程的参数表中的变量名和数组名。在调用过程之前,不分配内存,它的作用是解释自变量的类型和形式以及它们在过程中的作用。参数可以是:
1)固定长度字符串变量以外的合法变量名;
2)数组名后跟()括号。
参数:调用Sub和Function过程时传递给它们的变量名、数组名、常量或表达式。当在过程调用中传递参数时,正式参与的参数根据它们的位置进行组合。形参表和参数表中对应的变量名不必相同,但位置必须对应。
参与形式参数之间的关系:形式参数就像公式中的符号,实际参数就是符号的具体值;调用过程:即实现形式和自变量的结合,即将值代入公式进行计算。
2.按值传递参数(定义时添加ByVal)
当通过值传递参数时,自变量变量的值被复制到临时存储单元。如果在调用过程中变了argument参数的值,不会影响argument变量本身,即argument变量在调用前保持不变。
3.通过地址传递参数(定义时不使用修饰符或使用关键字ByRef)
按地址传递参数时,实参变量的地址传递给被调用的过程,同一个地址的形参和实参共享内存。在被调用的过程中,一旦参数的值发生变化,对应的实参的值也会发生变化。如果参数是常量或表达式,VB会通过“传值”来处理。
4.数组参数
VB允许数组作为参数出现在参数表中。语法:参数组名()[作为数据类型]
参数组只能按地址传递参数,对应的实参也必须是数据类型相同的数组。调用过程时,将要传递的数组名放在参数表中,不带括号。在这个过程中,不能使用Dim语句声明参数组,否则会得到“重复声明”的错误。但是,使用动态数组时,可以使用ReDim语句来更改shape参数组的尺寸边界,并重新定义数组的大小。
0条评论