Uma função pode retornar um ponteiro como resultado. O programa a seguir ilustra o retorno do ponteiro de uma função -
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 o código acima é compilado e executado, ele produz o seguinte resultado -
Value dereferenced: 100