打印本文 打印本文 关闭窗口 关闭窗口
VB深度下潜 之 一米深度(VB指针入门)
作者:武汉SEO闵涛  文章来源:敏韬网  点击数2007  更新时间:2009/4/23 15:42:05  文章录入:mintao  责任编辑:mintao
Val VarPtr(j), 4

是不是指从 j 处移到 4个字节(long型)到 I 处。

Excellent ,不过你还有一个地方没注意,为什么我要用 Byval 而不用 Byref

不信,你用

MoveMemory VarPtr(i), VarPtr(j), 4 这行代码来代替上面那行,再运行一下,

山还是那座山,I 还是等于 3 ,所以我们还要来仔细研读MoveMemory在氧气瓶里的定义

Sub MoveMemory(pDest As Any, pSource As Any, ByteLen As Long)

看出来没有,在VB中

指定 As Any 来禁止类型检查,从而允许将任意数据类型传递给该过程

那么如果我们用Byval时,传的就是j的地址值。

而用byref 传的就是储存 j的地址值的临时变量的地址值(为什么这么拗口呀)

明白?

如果你不明白,正是所谓的资质有限,呵呵,不怪你。

这位同学又说了,那要是这样,我不直接用

MoveMemory i, j, 4

就好了,何必这么麻烦。聪明,你看看人家的理解能力。

不过我只是为了告诉大家varptr是如何用的而已。

另一个同学就说了,其实还有更简单的

I=j

猪。

这时候深度计显示已达到一米,一个同学惊呼,“不明生物来袭”。。。。

上一页  [1] [2] 

打印本文 打印本文 关闭窗口 关闭窗口