电脑爱好者,提供IT资讯信息及各类编程知识文章介绍,欢迎大家来本站学习电脑知识。 最近更新 | 联系我们 RSS订阅本站最新文章
电脑爱好者
站内搜索: 
当前位置:首页>> delphi技术>>[转]主题:delphi的数组怎样连续赋值?:

[转]主题:delphi的数组怎样连续赋值?

来源:远方网络 | 2005-12-29 14:19:38 | (有9030人读过)




C语言的数组的联系赋值可以这样写:
int temp[5][2] = {{0,1,2,3,4}, {5,6,7,8,9}};

delphi里这样的赋值应该怎样写?


回复人: wicked(威) ( ) 信誉:96 2003-04-05 12:21:13Z 得分:0


?
for语句不就行了嘛,最笨也是最稳妥的方法。


Top

回复人: hexenzhou(甲骨文) ( ) 信誉:100 2003-04-05 12:25:52Z 得分:0


?
比如 int temp[5][2] = {{5,3,5,4,1},{3,8,1,2,4}};
for语句怎么写???


Top

回复人: plainsong(短歌) ( ) 信誉:108 2003-04-05 12:30:41Z 得分:50


?
上面的C语句并不是赋值,而是变量初始化。如果写成这样就不行了:
int temp[5][12];
temp ={{0,1,2,3,4}, {5,6,7,8,9}};

Delphi中只有全局变量可以初始化:
var
temp: array[0..4, 0..11] of Integer =
((0,1,2,3,4),(5,6,7,8,9),(0,0,0,0,0),……)//注意:在Delphi中对数组初始化时一定要把元素值写全,不能只写一部分。


Top

回复人: hexenzhou(甲骨文) ( ) 信誉:100 2003-04-05 12:57:36Z 得分:0


?
谢谢plainsong兄的解答。

在下遇到的情况是这样的,在一个过程或函数里对一个全局动态数组分配大小,然后对其赋值,而这个动态数组在不同的过程里有不同的长度,通常大小有32*32, 64*64, 128*128等,很显然C语言上面的初始化方式很方便,而在Delphi里我只能这么写
temp[0,0] := 4;
temp[0,1] := 3;
temp[0,2] := 1;
temp[0,3] := 9;
.........
.........
.........
如果是一个64*64的数组代码量可想而知。如果delphi也支持C语言的初始化方式该多好啊!



Top

回复人: plainsong(短歌) ( ) 信誉:108 2003-04-05 13:37:21Z 得分:0


?
C语言的初始化也只支持静态数组,对于动态数组(动态分配的指针)是不能用这种方式初始化的。
你可以先用
const
InitValues: array [0..31, 0..31] of Integer =
((……),(……),……)
定义好初始化值,在初始化动态数组时用循环+Move去初始化。


Top

回复人: hexenzhou(甲骨文) ( ) 信誉:100 2003-04-05 13:45:06Z 得分:0


?
接受答案,再次表示感谢!


Top




结贴 ,得分记录: plainsong (50)、

delphi技术热门文章排行
网站赞助商
购买此位置

 

关于我们 | 网站地图 | 文档一览 | 友情链接| 联系我们

Copyright © 2003-2021 电脑爱好者 版权所有 备案号:鲁ICP备09059398号