Pascal - Pointeur de retour des sous-programmes

Une fonction peut renvoyer un pointeur comme résultat. Le programme suivant illustre le retour du pointeur d'une fonction -

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.

Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant -

Value dereferenced: 100