Pascal - Puntero de retorno de subprogramas

Una función puede devolver un puntero como resultado. El siguiente programa ilustra el retorno del puntero de una función:

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.

Cuando se compila y ejecuta el código anterior, produce el siguiente resultado:

Value dereferenced: 100