Syntax: VARPTR (Variable)
Typ: Funktion
Kategorie: Speicher
VARPTR gibt die Adresse einer Variablen im Speicher zurück. Damit wurden in älteren BASIC-Dialekten Pointer-Funktionen erstellt. In FreeBASIC wird dazu üblicherweise das Zeichen @ verwendet; dort finden Sie weitere Informationen zum Gebrauch.
Beispiel:
DIM AS INTEGER a
DIM AS INTEGER PTR addr
a = 10
addr = VARPTR(a) ' identisch mit addr = @a
POKE INTEGER, addr, -1000
PRINT a, HEX(a)
POKE BYTE, addr, 1
PRINT a, HEX(a)
SLEEP
Ausgabe:
-1000 FFFFFC18
-1023 FFFFFC01
Wie Sie sehen, wird das letzte Byte (&h18) durch den Wert 1 (&h01) ersetzt. Ob das erste oder letzte signifikante Byte ersetzt wird, hängt von der Byte-Reihenfolge der CPU ab.
Siehe auch:
@, OFFSETOF, SADD, PEEK, POKE, Grundlagen zu Pointern, Zusammenstellung von Pointer-Anweisungen