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