关于数组问题:如何获得最后一个有值的元素的序号,

donghaiw 2003-10-20 08:20:44
我定义了一个动态数组:
abc : array of integer;

分配长度
SetLength(abc,10);

赋值
abc[0]:=3;
abc[1]:=10;
abc[2]:=4;
abc[3]:=25;

有没有办法或存在这样的函数,
可以获得最后一个有值的元素的序号,
如本例中abc[3]是最后一个有值的元素,
所以该序号是3。

我用了length(),High()等函数,
分别返回10和9,不是我要的。

另外,有没有办法可以快速清空数组,
而不需要一个一个赋空值。

先谢谢了.
...全文
145 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
hiflower 2003-10-20
  • 打赏
  • 举报
回复
楼上说的是。
再有你说的清空是指零吧?
如果一定要自己清,可以:FillChar(abc[0],Length(abc)*SizeOf(Integer),0);
hnhb 2003-10-20
  • 打赏
  • 举报
回复
在要增加数组元素的时候再附值啊
SetLength(abc,i);
abc[i-1]=3;
既然是动态数组,为什么要一开始就把长度设好呢?
47522341 2003-10-20
  • 打赏
  • 举报
回复
动态数组定义后是自动赋所有初值为0的;除非楼主能确定数组元素不会被赋零值;否则恐怕只能在你赋值的时候获得该元素的序号了;

5,379

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧