1、按值传递参数
按值传递参数时,是将实参变量的值复制一个到临时存储单元中,如果在调用过程中改变了形参的值,不会影响实参变量本身,即实参变量保持调用前的值不变。按值传递参数时,需要在参数名前加“ByVal”关键字。
2、按地址传递参数
按地址传递参数时,把实参变量的地址传送给被调用过程,形参和实参共用内存的同一地址。在被调用过程中,形参的值一旦改变,相应实参的值也跟着改变。如果实参是一个常数或表达式,Visual Basic 6.0会按“传值”方式来处理,按地址传递不需要“ByVal”关键字。
3、按数组传递参数
在VB6.0中,允许使用数组作为实参传递到子过程的形参中,数组传递必须采用地址传递的方式来传递参数。数组参数在传递时应注意以下两个方面:
在实参和形参列表中只写数组名,忽略维数的定义,但圆括号不能省,当数组作为参数传递时,系统将实参数组的起始地址传给过程,使形参数组也具有与实参数组相同的起始地址,若参数是多维数组,每维以逗号分隔;被调过程可分别通过Lbound和Ubound函数确定实参数组的下界和上界。
扩展资料
由 *** 作系统实现提供的所有系统调用所构成的集合即程序接口或应用编程接口(Application Programming Interface,API)为应用程序同系统之间的接口。
*** 作系统的主要功能是为管理硬件资源和为应用程序开发人员提供良好的环境来使应用程序具有更好的兼容性,为了达到这个目的,内核提供一系列具备预定功能的多内核函数,通过一组称为系统调用(system call)的接口呈现给用户。
系统调用把应用程序的请求传给内核,调用相应的的内核函数完成所需的处理,将处理结果返回给应用程序。
参考资料来源:百度百科-系统参数
参考资料来源:百度百科-参数传递
程序不会错,程序错了你就没办法运行,错的是你的代码。数组在C#中是引用传递(也就相当于你说的地址传递)。
你可以这么写的
List<List<int>> nClass = new List<List<int>>()nClass.Add(new List<int> { 1, 2, 3 })
nClass.Add(new List<int> { 1, 2 })
nClass.Add(new List<int> { 1 })
有两种方法可以实现将子程序中的值传递出来。
(1)利用模块级或全局变量。例如
Option Explicit' r是一个模块级变量
Dim r As Integer
Sub Add(ByVal x As Integer, ByVal y As Integer)
'将计算结果存放到 r
r = x + y
End Sub
Private Sub Form_Click()
'调用子程序Add
Call Add(10, 20)
'获取计算结果并打印
Print r
End Sub
(2)用 ByRef 参数实现计算结果回传。 例如
Option Explicit'Add子程序利用 ByRef r As Integer 回传值
Sub Add(ByRef r As Integer, ByVal x As Integer, ByVal y As Integer)
r = x + y
End Sub
Private Sub Form_Click()
Dim r As Integer
'调用子程序Add,计算结果回传到变量 r
Call Add(r, 10, 20)
'打印结果
Print r
End Sub
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)