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

❮ pascal_pointers.html