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