zoukankan      html  css  js  c++  java
  • COPYMEMORY 实现 N维数组向M维数组的转化

    'copymemory可以实现不同维数数组间的转换,如:

    Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (pDst As Any, pSrc As Any, ByVal ByteLen As Long)
    Dim a(5, 7) As Byte, b(15, 2) As Byte, c(47) As Byte, d(2, 3, 3) As Byte '定义48个元素的四个数组用于测试
    Sub xxxx()
    Dim i As Integer, j As Integer, k As Integer For i = 0 To 5 '随机定义数组a
    For j = 0 To 7
    a(i, j) = Int(Rnd * 128)
    Next
    Next Debug.Print "array a():" '数组a( 6 行8 列)
    For i = 0 To 5
    For j = 0 To 7
    Debug.Print Right(Space(5) & a(i, j), 5);
    Next
    Debug.Print
    Next
    Debug.Print Debug.Print "array b():" '数组b( 16 行 3 列)
    CopyMemory b(0, 0), a(0, 0), 48
    For i = 0 To 15
    For j = 0 To 2
    Debug.Print Right(Space(5) & b(i, j), 5);
    Next
    Debug.Print
    Next
    Debug.Print
    Debug.Print "array c():" '数组c( 48 行 1 列)
    CopyMemory c(0), b(0, 0), 48
    For i = 0 To 47
    Debug.Print Right(Space(5) & c(i), 5)
    Next
    Debug.Print Debug.Print "array d():" '数组d( 3 行 4 列 4 层)
    CopyMemory d(0, 0, 0), c(0), 48
    For i = 0 To 2
    For j = 0 To 3
    For k = 0 To 3
    Debug.Print Right(Space(5) & d(i, j, k), 5);
    Next
    Debug.Print
    Next
    Debug.Print "---------------------------"
    Next
    End Sub

    返回:

    array a():
       31  125    7   49   46   62   19   60
       32   80   69   20  120   83   64   49
       13  100   58   96   76  106    2   26
        9   13   42   16    0   68   84   69
      105   10   24   86   58   45   19   90
      118   67   11   96   51   59   62   26 array b():
       31   24  106
       32   11   68
       13   49   45
        9   20   59
      105   96   19
      118   16   64
      125   86    2
       80   96   84
      100   46   19
       13  120   62
       10   76   60
       67    0   49
        7   58   26
       69   51   69
       58   62   90
       42   83   26 array c():
       31
       32
       13
        9
      105
      118
      125
       80
      100
       13
       10
       67
        7
       69
       58
       42
       24
       11
       49
       20
       96
       16
       86
       96
       46
      120
       76
        0
       58
       51
       62
       83
      106
       68
       45
       59
       19
       64
        2
       84
       19
       62
       60
       49
       26
       69
       90
       26 array d():
       31    7   46   19
        9   42    0   84
      125   49   62   60
       13   16   68   69
    ---------------------------
       32   69  120   64
      105   24   58   19
       80   20   83   49
       10   86   45   90
    ---------------------------
       13   58   76    2
      118   11   51   62
      100   96  106   26
       67   96   59   26
    ---------------------------
  • 相关阅读:
    js 中的基本包装类型
    js监听浏览器,关闭,刷新(兼容IE6+,Firefox,Chrome,Safari)
    js 中的 && 与 ||
    程序设计模式的工厂(Factory)模式
    关于MOSS首页不能打开提示“根级别上的数据无效
    获取汉字的拼音的首个字母方法
    XmlDocument扩展类
    初次体验Android,过程很艰辛!
    用Python写个翻译工具
    开发经验是修炼设计模式的基石
  • 原文地址:https://www.cnblogs.com/fengju/p/6336349.html
Copyright © 2011-2022 走看看