在函数中如果数组的个数不定,可以使用开放数组参数
实参可以接受静态数组和动态数组
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;
|
请发表评论