如题:请高手指教.

解决方案 »

  1.   

    是不是这个意思:
    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
      

  2.   


    '直接返回数组
    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
      

  3.   

    '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