Help Center
Help CenterFreeBASIC

Operator Varptr (Variable Pointer)operator

Returns the address of a variable or object

Operatorsoperatordocumented

Syntax

Declare Operator VarPtr ( ByRef lhs As T ) As T Ptr
result = VarPtr ( lhs )

Parameters

NameDescription
lhsA 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)".

Operator @ (Address Of), when used with variables or objects, has identical behavior.

Remarks

Differences from QB


  • None

See also


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 )


Reference

  • Documented in KeyPgOpVarptr.html