是不是这个意思: Private Type zz b(9) As Single End Type Private Function MyTest(X As zz, Y As Single) As Single MyTest = X.b(Y) * X.b(Y) End FunctionPrivate Sub Command1_Click() Dim a(9) As zz Dim c(9) As Single Dim i As Single For i = 0 To 9 a(i).b(i) = i c(i) = MyTest(a(i), i) Print c(i) Next i End Sub
'直接返回数组 function GetArr(a() as long) as long() dim arr() as long '比如处理数组a得到arr GetArr=arr end function'直接传入结果数组 sub GetArr(a() as string,arr() as string) '比如处理数组a得到arr '程序中直接处理数组arr end sub
'1 返回数组 function GetArr(a() as long) as long() dim arr() as long '比如处理数组a得到arr GetArr=arr exit function '此处应该加上这一句 end function'直接传入结果数组 ''''''''''''sub GetArr(a() as string, arr() as string) sub GetArr(byref a() as string, byver arr() as string) '上两行的作用相同,第 2 行直观些【引用】 ' 实际上 vb 函数参数缺省使用地址方式传递(即引用) ' 而对于数组而言,只能是地址传递,如果使用 ByVal ary()编译无法通过。 ' 引用(Byref)方式,优点:栈开销较小,缺点:不小心在函数中改变了值,查错困难 ' 值(ByVal)传递方式,优点:函数内外同名不同值,缺点几乎没有,甚至比引用对栈的开销还小。 ' 地址至少占 4 字节,而对于整形变量 2 字节足以。长整形,浮点型,不比地址占用空间多 ' 串变量占空间稍多。总体考虑 使用 ByVal 关键字修饰参数优点多于缺点。 '比如处理数组a得到arr '程序中直接处理数组arr end sub
Private Type zz
b(9) As Single
End Type
Private Function MyTest(X As zz, Y As Single) As Single
MyTest = X.b(Y) * X.b(Y)
End FunctionPrivate Sub Command1_Click()
Dim a(9) As zz
Dim c(9) As Single
Dim i As Single
For i = 0 To 9
a(i).b(i) = i
c(i) = MyTest(a(i), i)
Print c(i)
Next i
End Sub
'直接返回数组
function GetArr(a() as long) as long()
dim arr() as long
'比如处理数组a得到arr
GetArr=arr
end function'直接传入结果数组
sub GetArr(a() as string,arr() as string)
'比如处理数组a得到arr
'程序中直接处理数组arr
end sub
function GetArr(a() as long) as long()
dim arr() as long
'比如处理数组a得到arr
GetArr=arr
exit function '此处应该加上这一句
end function'直接传入结果数组
''''''''''''sub GetArr(a() as string, arr() as string)
sub GetArr(byref a() as string, byver arr() as string)
'上两行的作用相同,第 2 行直观些【引用】
' 实际上 vb 函数参数缺省使用地址方式传递(即引用) ' 而对于数组而言,只能是地址传递,如果使用 ByVal ary()编译无法通过。 ' 引用(Byref)方式,优点:栈开销较小,缺点:不小心在函数中改变了值,查错困难
' 值(ByVal)传递方式,优点:函数内外同名不同值,缺点几乎没有,甚至比引用对栈的开销还小。 ' 地址至少占 4 字节,而对于整形变量 2 字节足以。长整形,浮点型,不比地址占用空间多
' 串变量占空间稍多。总体考虑 使用 ByVal 关键字修饰参数优点多于缺点。 '比如处理数组a得到arr
'程序中直接处理数组arr
end sub