比如数组a(2)中a(0)=0,a(1)=1,a(2)=2;数组b(1)中b(0)=3,b(1)=4。
现在想把数组a和数组b合并为数组c,使c(0)=0,c(1)=1,c(2)=2,c(3)=3,c(4)=4。
当然实际应用中的数组比这个例子要长得多,有什么简便的方法可以实现两个定长一维数组的合并?

解决方案 »

  1.   

    int a[100];
    int b[100];
    int c[200];memcpy((char *)c, a, 100*sizeof(int));
    memcpy((char *)&c[100], b, 100*sizeof(int));
      

  2.   

    如果是同一种数据类型,可以使用API函数CopyMemoryRedim arrC(0 To UBound(arrA))
    Call CopyMemory(arrC(0),arrA(0),UBound(arrA))Redim arrC(UBound(arrC)) To UBound(arrC)+UBound(arrB)+1)
    Call CopyMemory(UBound(arrC),arrB(0),UBound(arrB))
      

  3.   

    Private Sub Command1_Click()
    Dim a(2), b(1)
    a(0) = 0
    a(1) = 1
    a(2) = 2
    b(0) = 3
    b(1) = 4
    m = UBound(a)
    n = UBound(b)
    Dim c()
    ReDim c(m + n + 1)
    For i = 0 To m + n + 1
        If i <= m Then
            c(i) = a(i)
        Else
            c(i) = b(i - m - 1)
        End If
        Debug.Print c(i)
    Next
    End Sub