当前位置:文档之家› 用户自定义函数

用户自定义函数

用户自定义函数
函数是过程的另一种形式,又称为Function过程。

它与过程不同的是,函数必须有返回值,向调用程序返回结果。

定义Function过程,语句格式如下:
Function 函数名[(参数列表)][As 类型]
……
Return value / 函数名=value
End Function
Function过程的调用比较简单,可以像使用内部函数一样来调用Function过程,即将其名称和参数放在赋值语句的右边或表达式中。

例:定义并调用Function过程,求1~10的和
参数---形参和实参
在定义Sub和Function的过程中,“参数列表”中的参数称为“形式参数”,简称“形参”。

形参用于接收数据,因此形参不能是常数。

在调用语句中使用的参数称为“实际参数”,简称“实参”。

实参可以是变量元素(已知变量、数组元素等)和非变量元素(常数、文本、枚举、表达式),在调用一个过程时,必须把实参传递给过程,完成实参和形参的结合。

一般情况下实参按位置传给形参。

参数传递
在调用过程中,一般主过程与被调用过程之间有数据传递,即将主过程的实参传递给被调用过程中的形参,完成实参与形参的结合。

在参数传递过程中有两种方式,一种为值传递,使用ByVal关键字;另一种为按地址传递也称为引用,使用ByRef关键字。

在中默认的参数传递机制是值传递。

按值传递
按值传递时,系统将实参复制给形参,然后实参与形参就断开了联系,形参只是接收到实参传递过来的值,实参和形参在各自独立的存储单元中,在调用过程中对形参的任何操作不会影响到实参,因此值传递可以保护实参中的数据不被过程所改变
引用传递
当需要改变实参中的数据时,就应该使用引用传递。

引用传递时,将实参的地址传递给形参,实参和形参都指向同一内存空间。

在被调用过程中,对形参的任何操作实际上都变成了对相应实参的操作,对形参的修改就是对实参的修改。

这种对实参的修改只会影响到变量元素,而不会影响到非变量元素。

相关主题