mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-08 15:49:04 +02:00
25 lines
532 B
ObjectPascal
25 lines
532 B
ObjectPascal
{ %norun }
|
|
program tpointermath1;
|
|
|
|
{$IFDEF FPC}
|
|
{$MODE DELPHI}
|
|
{$ENDIF}
|
|
type
|
|
{$POINTERMATH ON}
|
|
PByte = ^Byte; // Pointer arithmetic can be applied to types declared with PointerMath ON
|
|
{$POINTERMATH OFF}
|
|
PInteger = ^Integer;
|
|
var
|
|
PB: PByte;
|
|
PI: PInteger;
|
|
begin
|
|
// This checks even with PointerMath=Off it still can be used for types declared with PointerMath=On
|
|
PB := PB + 1;
|
|
WriteLn(PB[1]);
|
|
{$POINTERMATH ON}
|
|
// It can also be used if explicitely declared in the code
|
|
PI := PI + 1;
|
|
WriteLn(PI[1]);
|
|
end.
|
|
|