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