在Delphi中,動態(tài)數(shù)組是一種靈活的數(shù)據(jù)結(jié)構(gòu),可以根據(jù)需要動態(tài)地分配和釋放內(nèi)存空間。定義和使用動態(tài)數(shù)組的步驟如下:
定義動態(tài)數(shù)組變量:在程序的變量區(qū)聲明一個動態(tài)數(shù)組變量。例如,聲明一個整數(shù)類型的動態(tài)數(shù)組變量arr:var arr: array of Integer;
分配內(nèi)存空間:使用SetLength函數(shù)為動態(tài)數(shù)組分配內(nèi)存空間。例如,為arr分配10個元素的內(nèi)存空間:SetLength(arr, 10);
使用動態(tài)數(shù)組:可以像使用靜態(tài)數(shù)組一樣使用動態(tài)數(shù)組。例如,為arr的第一個元素賦值為1:arr[0] := 1;
動態(tài)調(diào)整數(shù)組大?。菏褂肧etLength函數(shù)可以動態(tài)調(diào)整數(shù)組的大小。例如,將arr的大小調(diào)整為20個元素:SetLength(arr, 20);
釋放內(nèi)存空間:使用SetLength函數(shù)可以釋放數(shù)組變量占用的內(nèi)存空間。例如,釋放arr的內(nèi)存空間:SetLength(arr, 0);
下面是一個完整的示例代碼:
program DynamicArrayExample;
var
arr: array of Integer;
i: Integer;
begin
// 分配內(nèi)存空間
SetLength(arr, 10);
// 使用動態(tài)數(shù)組
for i := 0 to 9 do
arr[i] := i + 1;
// 輸出動態(tài)數(shù)組的元素
for i := 0 to 9 do
WriteLn(arr[i]);
// 調(diào)整數(shù)組大小
SetLength(arr, 20);
// 釋放內(nèi)存空間
SetLength(arr, 0);
end.
以上代碼定義了一個名為arr的整數(shù)類型的動態(tài)數(shù)組變量,分配了10個元素的內(nèi)存空間,使用循環(huán)為數(shù)組賦值,并通過循環(huán)輸出數(shù)組的元素。然后調(diào)整數(shù)組大小為20個元素,并最后釋放了數(shù)組的內(nèi)存空間。