您的位置:首页 > 编程语言 > Delphi

delphi数组作为参数传值

2016-11-24 16:51 387 查看
在函数中如果数组的个数不定,可以使用开放数组参数


实参可以接受静态数组和动态数组

procedure
p1(a:
array
of
Byte
);


begin


ShowMessage( IntToHex(
Integer
(@a),
2
));


ShowMessage(IntToStr(a[
0
]));


end
;


procedure
TForm1
.
btn1Click(Sender: TObject);


var


a:
array
[
0..5
]
of
Byte
;


begin


ShowMessage(IntToHex(
Integer
(@a),
2
));


p1(a);


end
;


function Find(A: array of Char): Integer;

以上函数使用字符数组作为参数传值,其中A:array of Char虽然有着与动态数组
dynamic array相近的形式,但是在这里它并不代表着动态数组。这里A:array of Char
可以使用任意静态或动态数组。
另外,如果一定使A:array of Char为动态数组,则须使用以下形式:
type TDynamicCharArray = array of Char;
function Find(A: TDynamicCharArray): Integer;
======================
例子(e.g.)
function Find(A: array of Char): Integer;
begin
setlength(A,100);//出错,应为setlength只能用于动态数组。
end;

function Find(A: TDynamicCharArray): Integer;
begin
setlength(A, 100);//正确。
end;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: