如何清楚快速清除数组中的所有内容?
如题,有没有函数可以快速清空数组,或是将整个数组移出内存?我使用freemen(数组名)会报错! 问题点数:20、回复次数:11Top
1 楼liyinwei(月夜彩虹)回复于 2006-03-12 20:31:25 得分 0
楼主数组里面放了什么东西,如果不是自己创建得类,就用SetLength就可以了。Top
2 楼flyfatcat(猫猫)回复于 2006-03-12 20:35:27 得分 0
数组内容不重要,但不清空会影响下次运行的结果
用setlength(数组名,0)编译不能通过Top
3 楼liyinwei(月夜彩虹)回复于 2006-03-12 20:45:05 得分 0
贴出代码和错误提示。Top
4 楼flyfatcat(猫猫)回复于 2006-03-12 20:51:27 得分 0
代码:136
提示:incompatible typesTop
5 楼cuteant(我这张旧床票还能否登上你的破床|涛声是否依旧)回复于 2006-03-12 20:56:20 得分 0
SetLength(array,0)只适合动态数组,也就是没有指定长度的
如果你定义的时候是用的Array[0..100] of ..这样的方式定义的就不行
清楚的时候用一个循环全部清空就可以了Top
6 楼flyfatcat(猫猫)回复于 2006-03-12 21:02:33 得分 0
没有别的办法了吗?用循环清楚很慢!
对了,再请教各位高手,我如何定义动态数组,并在需要时动态增加数组的长度?我是菜鸟,多谢大家了
另外,如和查看自己的可用分啊?Top
7 楼cuteant(我这张旧床票还能否登上你的破床|涛声是否依旧)回复于 2006-03-12 21:05:01 得分 10
1.呵呵,循环清除为什么慢?莫非你的数组很大?
2.动态数组这样定义:var a: Array of integer;
使用的时候使用并且一定要使用SetLength(a,10)这样的方式指定长度,后面的10是长度,根据需要指定
3.可用分在左边的“我的技术社区”里面的“我的社区积分”查看Top
8 楼flyfatcat(猫猫)回复于 2006-03-12 21:09:11 得分 0
是的,我的数组是很大,大概100万行左右
动态定义数组后,原来的A[0],A[1]的使用方式是不是改了,该如何使用数组元素呢?Top
9 楼liyinwei(月夜彩虹)回复于 2006-03-12 21:38:23 得分 10
静态数组因为已经分配了内存,所以不存在清空,只能清零,用函数ZeroMemory。
动态数组里面得成员如果不是自己创建的类,用SetLength就可以,否则要先一个一个的释放数组内的成员,再用SetLength。
动态数组与静态数组的调用方法是一样的。Top
10 楼flyfatcat(猫猫)回复于 2006-03-12 21:45:43 得分 0
多谢
Top
11 楼liyinwei(月夜彩虹)回复于 2006-03-12 21:48:04 得分 0
“多谢”好像是广东人的“口音”?Top




