delphi的参数传址 标志为var修辞变量名。
function
DoubleVal (Val: Integer) : Integer;
begin
Val : = Val * 2 ;
Result : = Val;
end ;
function DoubleRef ( var Val: Integer): Integer;
begin
Val : = Val * 2 ;
Result : = Val;
end ;
调用:
var
I, J: Integer;
begin
I : = 2 ;
J : = DoubleVal (I); // I = 2 ; J = 4 ;
// 如果调用下面的话,
// J : = DoubleRef (I); // I = 4 ; J = 4 ; i的值改变了
begin
Val : = Val * 2 ;
Result : = Val;
end ;
function DoubleRef ( var Val: Integer): Integer;
begin
Val : = Val * 2 ;
Result : = Val;
end ;
调用:
var
I, J: Integer;
begin
I : = 2 ;
J : = DoubleVal (I); // I = 2 ; J = 4 ;
// 如果调用下面的话,
// J : = DoubleRef (I); // I = 4 ; J = 4 ; i的值改变了