问个delphi7二维数组的问题,我想定义一个1024,1024的二维数组,可是为什么我最大只能定义到500,500

procedureTForm1.Button1Click(Sender:TObject);vara:array[0..500,0..500]ofinteger;begin... procedure TForm1.Button1Click(Sender: TObject);
var
a:array[0..500,0..500] of integer;
begin
a[500,500]:=100; end;
end.
为什么只能定义到500,500,再大就提示堆栈溢出了,用delphi怎么样才能定义一个1024,1024的二维数组
展开
 我来答
景茹炜L8
2012-09-01 · TA获得超过481个赞
知道小有建树答主
回答量:617
采纳率:0%
帮助的人:372万
展开全部
在函数中定义,最好不要超你所说的范围。

有两个办法:
一、在类中定义。
二、定义成全局变量。
以下是示例:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
a:array[0..8024,0..8024] of Integer; //类中定义
public
{ Public declarations }
end;
var
Form1: TForm1;
b:array[0..8024,0..8024] of Integer;//全局变量
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
c:Array[0..500,0..500] of Integer;//函数中定义
i:Integer;
begin
a[1024,1024]:=1024;
b[1024,1024]:=1024;
c[500,500]:=1024;
Caption:=IntToStr(a[1024,1024])+' '+IntToStr(b[1024,1024])+' '+IntToStr(c[500,500])+' ';
end;
end.
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式