在函數中如果數組的個數不定,可以使用開放數組參數
實參可以接受靜態數組和動態數組
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;