delphi中可以定义的数组最长是多少?(100分)

  • 主题发起人 主题发起人 lcl_003
  • 开始时间 开始时间
L

lcl_003

Unregistered / Unconfirmed
GUEST, unregistred user!
delphi中可以定义的数组最长是多少?有没有变长的数组?
 
delphi中有动态数组
for example:
StrArray:Array of string;
setlength(StrArray,length);
 
这点是Pascal比C++强大的地方
 
考! C++就不能动态定义数组大小??
 
那最长可以定义多长的数组呢?
 
你看看delphi里面数组的维数是什么数据类型,就可以定义多长的数组,当然这和机器
配置有关。 不明白你问这么明白的问题干什么
 
多长也可以,只是你的系统可能没那么多内存
 
哦,我问这个问题是因为我要从另外一台机器(单片机)采数,它发过来的数据很长,
一次大概有3000,以后还会更长,所以有次一问
 
3000还不到3k呢,属于小的
 
理论上好象可以达到16G,由你的内存限制.
 
这种方法也能实现动态数组
MaxListSize = Maxint div 16;

PIntList = ^TIntList;
TIntList = array[0..MaxListSize - 1] of Integer;//或其它类型,Classes单元中定义的是指针数组

var
pInt:PIntList;

GetMem(pInt,SizeOf(Integer)*5);// 分配5个,只机器允许可以分足够大的空间
// 注意在使用时不能越界,根据分配的空间定
FreeMem(pInt);// 释放
 
大家说得都有理,数据可无限长,限制只是跟内存有关
 
StrArray:Array of string;
setlength(StrArray,length);
 
应该和系统还是有关系的,如32位和64位的机器是不一样的
 
接受答案了.
 
后退
顶部