返回对地址的内存偏移的引用
语法
用法
result = lhs [ rhs ]
参数
lhs
基地址。
rhs
来自lhs 的带符号偏移量。
T
任何数据类型。
说明
这个操作符返回一个从基地址到存储器一段距离的值的引用。它基本上是“
*(lhs + rhs )”的简写;都做完全一样的事情。像指针算术一样,除
AnyPointer之外,任何类型的
Pointer都可以索引。另外,像指针算术一样,由用户确定有意义的数据被访问。
当索引“二维”指针时(即一个
T Ptr Ptr),第一个(最左边)的索引应用在第二个之前:例如
Pt [I1 ][I2 ]=
*(Pt [I1 ] + I2 )=
*(*(Pt + I1 ) + I2 )一般来说,当使用'
n 维度'指针:
Pt [I1 ][I2 ].....[In ]时,索引顺序(从左到右)对应于取消引用顺序。
对于用户定义的类型,此运算符可能会重载。
例子
''初始化一个5元素数组
Dim array(4) As Integer = { 0, 1, 2, 3, 4 }
''指向第一个元素
Dim p As Integer Ptr = @array(0)
''使用指针索引输出数组元素
For index As Integer = 0 To 4
Print p[index];
Next
Print
会给出输出,
0 1 2 3 4
与QB差别
参考