Pascal-passing-pointers-to-subprograms
提供:Dev Guides
Pascal-ポインターをサブプログラムに渡す
ポインター変数は、関数およびプロシージャの引数のパラメーターとして渡すことができます。 ポインター変数は、値パラメーターと変数パラメーターの両方として渡すことができます。ただし、変数パラメータとして渡された場合、サブプログラムはポインタの値を誤って変更して、奇妙な結果を招く可能性があります。
次のプログラムは、関数にポインタを渡すことを示しています-
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.
上記のコードをコンパイルして実行すると、次の結果が生成されます-
Here the pointer brings the value: 100