Einzelnen Beitrag anzeigen

TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.827 Beiträge
 
Delphi 12 Athens
 
#1

Pointer arithmetik

  Alt 8. Nov 2020, 15:26
Hallo,

da ich in Pointer Arithmetik nicht ganz so fit bin mal hier nachgefragt.
Gegeben ist dieser Code:

Delphi-Quellcode:
type
  PSkipjackTab = ^TSkipjackTab;
  TSkipjackTab = array[0..255] of Byte;

procedure TCipher_Skipjack.SkipjackIncCheck(var ATab: PSkipjackTab; AMin: PSkipjackTab; AMax: PByte);
begin
  Inc(ATab);
// {$IFDEF DELPHIORBCB}
// if ATab > AMax then
// {$ELSE !DELPHIORBCB}
{ TODO : Prüfen ob so korrekt, da ATab auf PByte gecastet wurde}
  if PByte(ATab) > AMax then
// {$ENDIF !DELPHIORBCB}
    ATab := AMin;
end;
Was tut der eigentlich?
Wenn ATab am Anfang auf Adresse 0 zeigen würde, zeigt das nach dem Aufruf durch das Inc
dann auf Adresse 257?

Und was tut der > Vergleich? Vergleicht der die Adresse von ATab mit AMax?

Grüße
TurboMagic
  Mit Zitat antworten Zitat