Operator Varptr (Variable Pointer)
Returns the address of a variable or object
result = VarPtr ( lhs )
lhs
Returns the address of a variable or object.
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)".
Syntax
Syntax
result = VarPtr ( lhs )
Parameters
lhs
A variable or object.
TAny 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)".
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 )
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