vb6 数组赋值
vb6 中有两个二维数组 arr1,arr2
将arr2的 arr2(200,100) 到 arr2(300,10000)之之间的数据赋值给arr1 有什么快速的方法吗,不用循环的
好像 C中 arr2(300,10000)的地址赋值给 arr1(0,0) vb中怎么写
[解决办法]
如果两个数组的行数是一样的,就简单些;否则处理更复杂一些。
二维数组是按先列后行的方式存储的。也就是 arr(2, 3) = {(1, 2, 3), (4, 5, 6)}的存储方式是 1, 4, 2, 5, 3, 6.
明白了这一点,就可以分片将数组 1 的数据,用 CopyMemory 复制到数组 2。
Private Declare Sub CopyMemory Lib "kernel32" _
Alias "RtlMoveMemory" (Destination As Any, _
Source As Any, ByVal Length As Long)
例如:
CopyMemory arr2(0, 0), arr1(2, 0), UBound(arr1, 2)