Pascal - Puntatore di ritorno da sottoprogrammi

Una funzione può restituire un puntatore come risultato. Il seguente programma illustra la restituzione del puntatore da una funzione:

program exPointersFromFunctions;
type
   ptr = ^integer;

var
   i: integer;
   iptr: ptr;
function getValue(var num: integer): ptr;

begin
   getValue:= @num;
end;

begin
   i := 100;
   iptr := getValue(i);
   
   writeln('Value deferenced: ', iptr^);
end.

Quando il codice precedente viene compilato ed eseguito, produce il seguente risultato:

Value dereferenced: 100