运算符 VARPTR(变量指针)
- 来源: https://www.freebasic.net/wiki/wikka.php?wakka=KeyPgOpVarptr
- 最后更新: 2016-12-16
返回变量或对象的地址
语法
` declare operator Varptr ( byref lhs as T ) as T ptr
`
语法
` result = Varptr ( lhs )
`
参数
lhs
变量或对象。
T
任意数据类型。
返回值
返回变量或对象的地址。
描述
该运算符返回其操作数的地址。
当操作数类型为 String 时,返回内部字符串描述符的地址。使用 Operator Strptr (String pointer) 可获取字符串数据的地址。
操作数不能是数组,但可以是数组元素。例如,"Varptr(myarray(0))" 返回 "myarray(0)" 的地址。
Operator @ (Address of) 与变量或对象一起使用时,行为完全相同。
示例
start GeSHi
vb
Dim a As Integer, addr As Integer
a = 10
'' place the address of a in addr
addr = CInt( VarPtr(a) )
'' change all 4 bytes (size of INTEGER) of a
Poke Integer, addr, -1000
Print a
'' place the address of a in addr (same as above)
addr = CInt( @a )
'' print the least or most significant byte, depending on the CPU endianess
Print Peek( addr )end GeSHi
与 QB 的差异
- 无
参见
- 指针
PeekPoke
返回 目录