数组的一个简单问题!急啊!

yinweixian 2005-12-01 11:12:21
我定义一个数组 arr 是array of string 。一开始设置长度为5,并都赋值为'1',我现在想实现的是改变数组长度并重新赋值,但是以前的数据一直仍然存在,去不掉了。

我写的是 setlength(arr,0) 使数组长度为0,再重新设置长度赋值。但是结果数组的长度并没有变为我后来设置的,而是把原来的长度加上了重新设置的长度。比如说我原来的长度是5,后来设置为3,结果长度为8,而且后面的5位就是原来的值。实际上setlength(arr,0)根本没有起作用,只是加到后面了。
应该怎么清空原有数组中的数据啊?急啊!!!
...全文
101 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
yinweixian 2005-12-01
  • 打赏
  • 举报
回复
试了还是不行啊,和原来一样。数据还是在后面。
baiduan 2005-12-01
  • 打赏
  • 举报
回复
ZeroMemory 如上
fillchar(arr,sizeof(arr),$00);
aiirii 2005-12-01
  • 打赏
  • 举报
回复
void ZeroMemory(
PVOID Destination,
SIZE_T Length
);
daturay 2005-12-01
  • 打赏
  • 举报
回复
“比如说我原来的长度是5,后来设置为3,结果长度为8,而且后面的5位就是原来的值。”
什么意思?
是length(arr) = 8 还是 length(arr) = 3只是你索引后5项(或调试)发现原值还在后5位?
如果是后者,对你的程序应该没什么影响啊
zhuminghua 2005-12-01
  • 打赏
  • 举报
回复
ZeroMemory(@arr,SizeOf(arr));

16,749

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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