关于参数传递的问题

raidenzxx 2007-08-07 11:13:49
procedure II(var a: UINT4; b, c, d, x, s, ac: UINT4);

请问在这个过程内为什么第一个参数a前面有var,后面的参数为什么没有呢?
...全文
50 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjs1982 2008-03-10
  • 打赏
  • 举报
回复
function DoubleByValue(X: Integer): Integer; // X 是数值参数
begin
X := X * 2;
Result := X;
end;
function DoubleByRef(var X: Integer): Integer; // X 是变量参数
begin
X := X * 2;
Result := X;
end;
这两个函数返回同样的结果,但只有第二个(DoubleByRef)能改变传给它的变量的值。假设我们这样
调用函数:
var
I, J, V, W: Integer;
begin
I := 4;
V := 4;
J := DoubleByValue(I); // J = 8, I = 4
W := DoubleByRef(V); // W = 8, V = 8
end;
hsmserver 2007-08-07
  • 打赏
  • 举报
回复
a会改变而没有var不改变
SonicX 2007-08-07
  • 打赏
  • 举报
回复
var表示可以回调这个参数

16,749

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧