B
blackpearl
Unregistered / Unconfirmed
GUEST, unregistred user!
1.我在一段程序里定义了一个静态数组为arrays:array[1..1000] of string;然后用I:=1..1000逐渐增大的方式,往该数组里赋值,但由于不小心,I的值增加到远远超过1000了(我的那段程序里,I已经超过5000了),程序竟然没出错,各位高手知道这是为什么吗?--但后来我写了另外一小段代码检验,数组元素个数是不能超过数组界限的呀
2.动态数组会自动释放内存空间吗?如果,for i:=0 to 100 do
begin
setlength(arraytest,3000+i);
for j:=0 to 2999 do
arraytest[j]:=j;
end;
是不是当I每次循环,到setlength语句后,前面分配给arraytest的空间都自动释放了?
3.还有,如果我的程序有很多个函数组成,每个函数实现一个功能,彼此不相关,每个函数的代码变量中有静态、动态数组,那么当执行完‘A’功能换执行‘B’功能的时候,‘A’函数里的这些数组内存空间会自动释放吗?
4.最后,想了解一下内存地址个数怎么算呀?
……拜托了
2.动态数组会自动释放内存空间吗?如果,for i:=0 to 100 do
begin
setlength(arraytest,3000+i);
for j:=0 to 2999 do
arraytest[j]:=j;
end;
是不是当I每次循环,到setlength语句后,前面分配给arraytest的空间都自动释放了?
3.还有,如果我的程序有很多个函数组成,每个函数实现一个功能,彼此不相关,每个函数的代码变量中有静态、动态数组,那么当执行完‘A’功能换执行‘B’功能的时候,‘A’函数里的这些数组内存空间会自动释放吗?
4.最后,想了解一下内存地址个数怎么算呀?
……拜托了