读书人

如何把 二维数组 分解 成 一维数组

发布时间: 2012-01-21 21:31:43 作者: rapoo

怎么把 二维数组 分解 成 一维数组?
我有一个function。 他的给入值是 一个 一维数组, 但是我现在所有的值都储存在一个二维数组里。 我怎么吧 比如说 二维数组里的第1个数组 给进去参与计算,然后第2第3个?

我现在就是不知道怎么吧二维数组在 vb里分解成 一维数组。

在 c语言里 可以定义一个 matrix(n,n), 然后通过 matrix(1) 获取第一行的数组。可是在vb里怎么实现呢?

[解决办法]
非常简单,在VB也有一个非常快的方法可以让你得到这个结果:

Option Explicit

Private Declare Sub CopyMemory Lib "kernel32 " Alias "RtlMoveMemory " (pDest As Any, pSrc As Any, ByVal ByteLen As Long)

Option Explicit

Private Declare Sub CopyMemory Lib "kernel32 " Alias "RtlMoveMemory " (pDest As Any, pSrc As Any, ByVal ByteLen As Long)

Private Sub Form_Load()
Dim I(5) As Long
Dim L(1, 2) As Long

Dim K As Long
Dim M As Long

For K = 0 To 1
For M = 0 To 2
L(K, M) = K * 10 + M
Next
Next
CopyMemory I(0), L(0, 0), 24


For M = 0 To 5
Debug.Print "I( " & M & ")= " & Format(I(M), "00 ")
Next
End Sub

二维数组L的内容一次性复制到一维数组I中了.
从输出的结果中可以看出二维数组的实际存储顺序是总最左面的那一维开始的,而并非习惯上认为的从右面那一维开始.
因此,楼主如果要用这个方法的话,要需要先把你那个二维数组的输入方式改成从左到右才行

读书人网 >VB

热点推荐