Operator Varptr (Variable Pointer)
Returns the address of a variable or object
Syntax
`
Declare Operator VarPtr ( ByRef lhs As T ) As T Ptr
`
Syntax
`
result = VarPtr ( lhs )
`
Parameters
`lhs`
A variable or object.
`T`
Any data type.
Return Value
Returns the address of a variable or object.
Description
This operator returns the address of its operand.
When the operand is of type `String`, the address of the internal string descriptor is returned. Use `Operator Strptr (String Pointer)` to retrieve the address of the string data.
The operand cannot be an array, but may be an array element. For example, `"VarPtr(myarray(0))"` returns the address of `"myarray(0)"`.
`Operator @ (Address Of)`, when used with variables or objects, has identical behavior.
Example
`
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 )
`
Differences from QB

- None

See also

- Pointers
- `Peek`
- `Poke`