首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

vb6 数组赋值解决方案

2012-09-14 
vb6 数组赋值vb6 中有两个二维数组 arr1,arr2将arr2的 arr2(200,100) 到 arr2(300,10000)之之间的数据赋值

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)

热点排行