操作符 [] (Pointer Index)
 
返回对地址的内存偏移的引用

语法
用法

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差别

  • 新的FreeBASIC

参考