Thema: Delphi Pointer SizeOf

Einzelnen Beitrag anzeigen

Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#8

Re: Pointer SizeOf

  Alt 12. Feb 2007, 21:47
Hi,

wenn du einen typisierten Zeiger p hast, dann liefert dir SizeOf(p) die Größe des Zeigers (4 Byte) und SizeOf(p^) die Größe des Speicherbereichs, auf den der Zeiger verweist.

Delphi-Quellcode:
type
  PStructure = ^TStructure;
  TStructure = record
    i, j, k : Integer;
  end;

var
  p : PStructure;
  size : Integer;

begin
  p := nil;
  size := SizeOf(p); // size = 4
  size := SizeOf(p^); // size = 12
end;
Es spielt dabei keine Rolle, ob der Zeiger initialisiert wurde oder nicht. Der Compiler kennt aufgrund der Typvereinbarungen die Größe der Speicherblöcke und setzt die entsprechenden Werte ein.

Gruß Hawkeye
  Mit Zitat antworten Zitat