冥界3大法王 发表于 2024-2-2 11:48

以下两种访问数组的方式有啥区别?



procedure TForm7.Button1Click(Sender: TObject);
var
num: Integer;
Arr: array of string;
begin


Arr := 'A';
Arr := 'B';
Arr := 'C';
Arr := 'D';
Arr := 'E';
Arr := 'F';
Arr := 'G';
Arr := 'H';
Arr := 'I';
Arr := 'J';
Arr := 'K';
Arr := 'L';
Arr := 'M';
Arr := 'N';
Arr := 'O';
Arr := 'P';
Arr := 'Q';
Arr := 'R';
Arr := 'S';
Arr := 'T';
Arr := 'U';
Arr := 'V';
Arr := 'W';
Arr := 'X';
Arr := 'Y';
Arr := 'Z';
ShowMessage(Arr);
end;


procedure TForm7.Button2Click(Sender: TObject);
var
MyArray: array of string;
begin
MyArray := '1111';
MyArray := '222';
MyArray := '3333';
MyArray := '4444';
MyArray := '5555';
ShowMessage(MyArray);
end;
{:301_974:}



sai609 发表于 2024-2-2 11:53

c➕➕,sas,MATLAB,sql,r语言,python。。。。你说的是哪个ied?

wapjsx 发表于 2024-2-2 11:56

我感觉这里一点儿的差别都没有的。

Arr与 MyArray 一样一样的!

blindcat 发表于 2024-2-2 12:00

Arr: array of string;
MyArray: array of string;

MyArray声明了数组的长度?

lies2014 发表于 2024-2-2 12:46

第一个是动态数组,使用的时候需要先用SetLength分配空间吧,否则会出错
第二个静态数组预先定义了空间
内存中静态是放在栈空间或数据段
动态数组是放在堆中

冥界3大法王 发表于 2024-2-2 12:56

lies2014 发表于 2024-2-2 12:46
第一个是动态数组,使用的时候需要先用SetLength分配空间吧,否则会出错
第二个静态数组预先定义了空间
...

@lies2014
https://blog.csdn.net/yhj68100055/article/details/128800124

https://www.cnblogs.com/pchmonster/archive/2011/12/15/2288738.html
通过试验+总结,我这个糊涂蛋开窍了。{:301_988:}
页: [1]
查看完整版本: 以下两种访问数组的方式有啥区别?