a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 50|回复: 0

[Visual Basic] 2011年计算机等级考试二级VB基础教程(25)

[复制链接]
发表于 2012-7-31 22:10:12 | 显示全部楼层 |阅读模式
  6.3参数的传递
2 n3 q& A$ v& J: P; K9 c  1.形参与实参的概念/ y& R8 x* A9 r& x* i
  形参:指出现在Sub 和Function过程形参表中的变量名、数组名,过程被调用前,没有分配内存,其作用是说明自变量的类型和形态以及在过程中的角色。形参可以是:% n0 }1 @9 u: B4 ~
  1)除定长字符串变量之外的合法变量名;- G8 G1 ?4 Z) @3 `2 ]
  2)后面跟()括号的数组名。
. |2 L6 ]2 j0 ~- O  实参:是在调用Sub 和Function过程时,传送给相应过程的变量名、数组名、常数或表达式。在过程调用传递参数时,形参与实参是按位置结合的,形参表和实参表中对应的变量名可以不必相同,但位置必须对应起来。
& I8 L# b1 i' j) T8 l2 l  \  形参与实参的关系:形参如同公式中的符号,实参就是符号具体的值;调用过程:即实现形参与实参的结合,也就是把值代入公式进行计算。
' I1 u2 ?) H9 t7 U1 f, ?  2. 按值传递参数(定义时加ByVal): |/ \, C1 z; A7 H/ T  o& u& F
  按值传递参数(Passed By Value)时,是将实参变量的值复制一个到临时存储单元中,如果在调用过程中改变了形参的值,不会影响实参变量本身,即实参变量保持调用前的值不变。7 x7 i7 W* `8 R* g
  3.按地址传递参数(定义时没有修饰词或带关键字ByRef)
$ n( m* B+ V+ B; S" s5 l/ _3 H+ c  按地址传递参数时,把实参变量的地址传送给被调用过程,形参和实参共用内存的同一地址。在被调用过程中,形参的值一旦改变,相应实参的值也跟着改变。如果实参是一个常数或表达式,VB会按“传值”方式来处理。
" L( X' w( {9 R0 A  4.数组参数
2 ]6 |0 ^; U" @2 x1 A  VB允许把数组作为形参出现在形参表中,语法: 形参数组名() [As 数据类型]
5 O6 b! D/ j4 e: ^' w$ m  形参数组只能按地址传递参数,对应的实参也必须是数组,且数据类型相同。调用过程时,把要传递的数组名放在实参表中,数组名后面不跟圆括号。在过程中不可以用Dim语句对形参数组进行声明,否则会产生“重复声明”的错误。但在使用动态数组时,可以用ReDim语句改变形参数组的维界,重新定义数组的大小。
& s% W$ _% f5 l9 B  5. 对象参数
  X" V3 ~# W/ c1 J  VB中可以向过程传递对象,在形参表中,把形参变量的类型声明为“Control”,可以向过程传递控件;若声明为“Form”,则可向过程传递窗体。对象的传递只能按地址传递。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-18 08:13 , Processed in 0.169150 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表