delphi數組作為參數傳值


在函數中如果數組的個數不定,可以使用開放數組參數

實參可以接受靜態數組和動態數組

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;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM