当前位置: 首页 > 文档资料 > Pascal 中文教程 >

在Pascal中传递指向子程序的指针(Passing pointers to subprograms in Pascal)

优质
小牛编辑
128浏览
2023-12-01

指针变量可以作为函数和过程参数中的参数传递。 指针变量可以作为值和变量参数传递; 但是,当作为变量参数传递时,子程序可能会无意中改变指针的值,这将导致奇怪的结果。

以下程序说明了将指针传递给函数 -

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