你弄错了吧 我说的是指针阿如: type user_log=record user_id:integer; real_name:string; end; Puser_log=^user_log;var mUserLog : Puser_log; while not query1.eof do begin new(mUserLog); ......... query1.Next; mSum:=mSum+1; end; for i:=0 to mSum-1 do begin showmessage(mUserLog[mSum].real_name); end
指向结构的指针不是这样用的,这就好比是链表你这样设计 type Puser_log=^user_log; user_log=record user_id:integer; real_name:string; next: Puser_Log; end; 以后使用的时候用用next进行访问;
var p, p1, root: puser_log;begin new(p); root := p; while not query1.eof do begin new(p1); ......... query1.Next; p.next := p1; p := p.next; end; p := root; while p.next <> nil do .....
我说的是指针阿如:
type
user_log=record
user_id:integer;
real_name:string;
end;
Puser_log=^user_log;var
mUserLog : Puser_log;
while not query1.eof do begin
new(mUserLog);
.........
query1.Next;
mSum:=mSum+1;
end; for i:=0 to mSum-1 do begin
showmessage(mUserLog[mSum].real_name);
end
type
Puser_log=^user_log;
user_log=record
user_id:integer;
real_name:string;
next: Puser_Log;
end;
以后使用的时候用用next进行访问;
var
p, p1, root: puser_log;begin
new(p);
root := p;
while not query1.eof do begin
new(p1);
.........
query1.Next;
p.next := p1;
p := p.next;
end;
p := root;
while p.next <> nil do
.....
我主要不知道数组的长度,没法定义,所以就用指针new啊new的,但后面又想想数组一样操作,C++里就可以这样做。如果是链表的话,取第N个就比较麻烦。