vb6 数组赋值

uddeeqtkg 2012-08-16 10:12:22
vb6 中有两个二维数组 arr1,arr2
将arr2的 arr2(200,100) 到 arr2(300,10000)之之间的数据赋值给arr1 有什么快速的方法吗,不用循环的

好像 C中 arr2(300,10000)的地址赋值给 arr1(0,0) vb中怎么写
...全文
167 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
uddeeqtkg 2012-08-28
  • 打赏
  • 举报
回复
10分感谢
[Quote=引用 1 楼 的回复:]

如果两个数组的行数是一样的,就简单些;否则处理更复杂一些。

二维数组是按先列后行的方式存储的。也就是 arr(2, 3) = {(1, 2, 3), (4, 5, 6)}的存储方式是 1, 4, 2, 5, 3, 6.

明白了这一点,就可以分片将数组 1 的数据,用 CopyMemory 复制到数组 2。

Private Declare Sub CopyMemory Lib "……
[/Quote]
of123 2012-08-16
  • 打赏
  • 举报
回复
如果两个数组的行数是一样的,就简单些;否则处理更复杂一些。

二维数组是按先列后行的方式存储的。也就是 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)

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧