ein Pointer ist standartmäßig ein Zeiger auf einen bestimmten Platz im Speicher. Das kann ein Wert sein, das kann aber auch ein Objekt oder eine Struktur sein.
Bei Spielen zeigt so ein Zeiger meist auf den Anfang einer Struktur. Meistens steht der Inhalt, den man haben möchte nicht an erster Stelle in der Struktur, also nicht direkt an der Stelle, auf die der Pointer zeigt, sondern etwas weiter hinten. Desshalb addiert man ein offset zur Adresse:
Das sei ein Speicherauszug aus einer Struktur der Spielfigur:
Code:
0x00000001 'K'
0x00000002 'R'
0x00000003 'U'
0x00000004 'S'
0x00000005 'T'
0x00000006 'Y'
0x00000007 0
0x00000008 1337
Wir haben einen Pointer x, der auf 0x00000001 zeigt, wir wollen aber nicht den Namen der Spielfigur auslesen, sondern das Leben (1337), das steht genau 7 Bytes unter 0x00000001, also an 0x00000001 + 0x7.
Leben = Lese_Inhalt_aus( Lese_Inhalt_aus(x) + 0x7)