Private Declare Sub RtlMoveMemory Lib "kernel32" (Destination As Any, Source As Any, ByVal Length As Long)

 'code by lichmama from cnblogs.com
Private Sub Form_Load()
Dim a() As Byte
Dim b(, ) As Byte
Dim c(, , ) As Byte Debug.Print "一维数组:"
Debug.Print VarPtr(a()), VarPtr(a()), VarPtr(a())
'数组元素在内存中的排列情况:
'a[0]|a[1]|a[2] Debug.Print "二维数组:"
Debug.Print VarPtr(b(, )), VarPtr(b(, )), VarPtr(b(, ))
Debug.Print VarPtr(b(, )), VarPtr(b(, )), VarPtr(b(, ))
Debug.Print VarPtr(b(, )), VarPtr(b(, )), VarPtr(b(, ))
'数组元素在内存中的排列情况:
'b[0,0]|b[1,0]|b[2,0]-->b[0,1]|b[1,1]|b[2,1]-->b[0,2]|b[1,2]|b[2,2] Debug.Print "三维数组:"
Debug.Print VarPtr(c(, , )), VarPtr(c(, , )), VarPtr(c(, , ))
Debug.Print VarPtr(c(, , )), VarPtr(c(, , )), VarPtr(c(, , ))
Debug.Print VarPtr(c(, , )), VarPtr(c(, , )), VarPtr(c(, , ))
Debug.Print VarPtr(c(, , )), VarPtr(c(, , )), VarPtr(c(, , ))
Debug.Print VarPtr(c(, , )), VarPtr(c(, , )), VarPtr(c(, , ))
Debug.Print VarPtr(c(, , )), VarPtr(c(, , )), VarPtr(c(, , ))
Debug.Print VarPtr(c(, , )), VarPtr(c(, , )), VarPtr(c(, , ))
Debug.Print VarPtr(c(, , )), VarPtr(c(, , )), VarPtr(c(, , ))
Debug.Print VarPtr(c(, , )), VarPtr(c(, , )), VarPtr(c(, , ))
'数组元素在内存中的排列情况:
'c[0,0,0]|c[1,0,0]|c[2,0,0]-->c[0,1,0]|c[1,1,0]|c[2,1,0]-->c[0,2,0]|c[1,2,0]|c[2,2,0]
'-->c[0,0,1]|c[1,0,1]|c[2,0,1]-->c[0,1,1]|c[1,1,1]|c[2,1,1]-->c[0,2,1]|c[1,2,1]|c[2,2,1]
'-->c[0,0,2]|c[1,0,2]|c[2,0,2]-->c[0,1,2]|c[1,1,2]|c[2,1,2]-->c[0,2,2]|c[1,2,2]|c[2,2,2] '我们习惯逻辑上这么给数组赋值,字面上像是b()="lhmimaca!"
b(, ) = &H6C: b(, ) = &H68: b(, ) = &H6D
b(, ) = &H69: b(, ) = &H6D: b(, ) = &H61
b(, ) = &H63: b(, ) = &H61: b(, ) = &H21 Dim text As String
text = String(, " ")
Call RtlMoveMemory(ByVal StrPtr(text), ByVal VarPtr(b(, )), )
Debug.Print "但,其实结果是这样的:";
Debug.Print StrConv(text, vbUnicode)
End Sub

看结果说话(内存地址打印):

一维数组:

二维数组:

三维数组:

但,其实结果是这样的:lichmama!         

VB6之多维数组中元素在内存中的排列情况的更多相关文章

  1. PHP计算二维数组指定元素的和

    array_sum(array_column($arr, 'num')); //计算二维数组指定元素的和 $arr = [ [ 'id'=>1, 'num'=>3, ], [ 'id'=& ...

  2. C语言中二维数组如何申请动态分配内存

    C语言中二维数组如何申请动态分配内存: 使用malloc函数,先分配第一维的大小,然后再循环分配每一维的大小 #include <stdio.h> #include <malloc. ...

  3. PHP方便快捷的将二维数组中元素的某一列值抽离出来作为此二维数组内元素的key

    得益于PHP的强大的内置数组函数array_column();array_combine(); 举个小栗子: <?php // 先查询出用户的基本信息 $userArray = [['id' = ...

  4. 101-PHP二维数组的元素输出三,封装成函数

    <?php $arr=array(array(76,87,68), array(65,89,95), array(90,80,66), array(90,95,65),5,234,56,'Hel ...

  5. 100-PHP二维数组的元素输出三

    <?php $stu=array(array(76,87,68), array(65,89,95), array(90,80,66), array(90,95,65)); //定义一个二维数组 ...

  6. 099-PHP二维数组的元素输出二

    <?php $stu=array(array(76,87,68), array(65,89,95), array(90,80,66), array(90,95,65)); //定义一个二维数组 ...

  7. C++获取二维数组的元素个数

    C/C++获取二维数组的大小/长度/元素个数 ][]; ]) /

  8. 《剑指offer》查找二维数组内元素 c++

    在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序. 请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. cl ...

  9. 098-PHP二维数组的元素输出

    <?php $stu=array(array(76,87,68), array(65,89,95), array(90,80,66), array(90,95,65)); //定义一个二维数组 ...

随机推荐

  1. HDU 6024(中国大学生程序设计竞赛女生专场1002)

    这是CCPC女生专场的一道dp题.大佬们都说它简单,我并没有感到它有多简单. 先说一下题意:在一条直线上,有n个教室,现在我要在这些教室里从左到右地建设一些作为糖果屋,每个教室都有自己的坐标xi 和建 ...

  2. DOM4J介绍与代码示例

    DOM4J是dom4j.org出品的一个开源XML解析包.Dom4j是一个易用的.开源的库,用于XML,XPath和XSLT.它应用于Java平台,采用了Java集合框架并完全支持DOM,SAX和JA ...

  3. Dubbo微容器(Cooma)详解

    ExtensionLoader ExtensionLoader是Dubbo中的SPI的实现方法,它是Dubbo框架的微容器,也为框架提供各种组件的扩展点 三种注解 SPI Adaptive Activ ...

  4. Amazing ASP.NET Core 2.0

    前言 ASP.NET Core 的变化和发展速度是飞快的,当你发现你还没有掌握 ASP.NET Core 1.0 的时候, 2.0 已经快要发布了,目前 2.0 处于 Preview 1 版本,意味着 ...

  5. Git详细教程(3)---结合gitHub使用

    1.GitHub的基本使用 GitHub就是一个网站,本身是基于Git,可以完成版本控制,可以托管代码. 英文版的. 在使用GitHub之前,首先需要注册一个账号. 登录,就可以完成相关的一些操作. ...

  6. Asp.Net Core轻量级Aop解决方案:AspectCore

    什么是AspectCore Project ? AspectCore Project 是适用于Asp.Net Core 平台的轻量级 Aop(Aspect-oriented programming) ...

  7. 关于AD9516芯片的硬件设计和FPGA程序编写心得

    最近在做一个项目,其中有涉及时钟芯片AD9516的硬件设计和软件编程,有些使用心得,供大家参考讨论. AD9516,这是一个由ADI公司设计的14路输出时钟发生器,具有亚皮秒级抖动性能,还配有片内集成 ...

  8. windows embedded compact 2013 正版免费下载

    不知道wince2013是不是真的免费了,不过可以试一下! 下载地址:http://www.microsoft.com/en-us/download/details.aspx?id=39268 你仍然 ...

  9. Android界面(1) 使用TextView实现跑马灯效果

    方法一:(只能实现单个TextView的跑马灯效果)在TextView添加以下控件 android:singleLine="true"只能单行,超出的文字显示为"...& ...

  10. Java基础——关于访问权限的一道例题

    一.回顾访问修饰符 ==public:被它修饰的类,属性,方法,不仅可以跨类访问,而且可以跨包(package)访问 ==private:可以修饰数据成员,构造方法,方法,不能修饰类,被它修饰的成员只 ...