我记得是这样的: var ll:integer=2; ================================================ function a(var ll:integer):integer; begin ll:=ll+2; end; 此时ll=4 ============================================= function a(ll:integer):integer; begin ll:=ll+2;//此时ll=4 end; 此时ll=2 这下差不多了吧
那就是说 ll应该是个全局变量 起码是个public 是吧 这种编程风格是不是很好呢?
Var表示传址,而不是传值 最好复习一下大学Pascal教程
并非如007pro所说,ll并不能说是全局变量 在参数前加VAR就意味着这是一个变量参数,也就是说在函数内部若此值发生变化要对原形发生影响如 function a(var ll:integer):integer; begin inc(ll); Result:=ll*2; end;... var k,j:integer; k:=1; j:=a(k); 同j=4,而k=2 这样解释够清楚么?
var
ll:integer=2;
================================================
function a(var ll:integer):integer;
begin
ll:=ll+2;
end;
此时ll=4
=============================================
function a(ll:integer):integer;
begin
ll:=ll+2;//此时ll=4
end;
此时ll=2
这下差不多了吧
ll应该是个全局变量
起码是个public
是吧
这种编程风格是不是很好呢?
最好复习一下大学Pascal教程
在参数前加VAR就意味着这是一个变量参数,也就是说在函数内部若此值发生变化要对原形发生影响如
function a(var ll:integer):integer;
begin
inc(ll);
Result:=ll*2;
end;...
var k,j:integer;
k:=1;
j:=a(k);
同j=4,而k=2
这样解释够清楚么?
一般参数可能有6种传参方式:传值,传名,传地址,传结果,传数组,传过程/函数...
(Delphi只有传值--值参,传地址--就是变量参数)
繁着呢...
:p