Pascal - Passaggio di puntatori a sottoprogrammi
Le variabili del puntatore possono essere passate come parametri negli argomenti di funzioni e procedure. Le variabili puntatore possono essere passate sia come valore che come parametri variabili; tuttavia, quando viene passato come parametri variabili, il sottoprogramma potrebbe inavvertitamente alterare il valore del puntatore che porterà a risultati strani.
Il seguente programma illustra il passaggio del puntatore a una funzione:
program exPointertoFunctions;
type
iptr = ^integer;
var
i: integer;
ptr: iptr;
function getNumber(p: iptr): integer;
var
num: integer;
begin
num:=100;
p:= @num;
getNumber:=p^;
end;
begin
i := getNumber(ptr);
writeln(' Here the pointer brings the value ', i);
end.
Quando il codice precedente viene compilato ed eseguito, produce il seguente risultato:
Here the pointer brings the value: 100