大家帮我看看这个指针数组怎么用错了?
type //定义指针变量
pReorder=^recordQQ;
recordQQ=record
Xuhao:integer;
next:pReorder;
end;
-------------------------
var
ReorderArray:array of pReorder;//定义指针数组链表
MaxEnter:integer;
-------------------------
procedure TForm1.QQspeakNum;
var
i:integer;
begin
setlength(ReorderArray,MaxEnter+1);
for i:= 0 to MaxEnter do //首先初始化指针数组链表;
begin
new(ReorderArray[i]);
ReorderArray[i]^.next:=nil;
end;
for i:=0 to QQcount -1 do //为指针数组链表赋值
begin
new(ReorderArray[i]^.next);
ReorderArray[i]:=ReorderArray[i]^.next;
ReorderArray[i]^.Xuhao:=i;
ReorderArray[i]^.next :=nil;
end;
end;
------------------------------
for i:= MaxEnter downto 0 do
begin
while ReorderArray[i].next <> nil do
begin
//这中间的语句竟然没有执行。 ?????????
end;
end;
------------------------------
for i:= 0 to MaxEnter do //FormDestroy中释放内存
begin
while ReorderArray[i]^.next <> nil do
begin
dispose(ReorderArray[i]);
ReorderArray[i]:=ReorderArray[i]^.next;
end;
end;
不知道以上代码错在哪里?望高手指正,谢谢。