指针类型的数据结构使用

Type
TMyRec = record     {定义结构}
    name: string[8];
    age : Word;
end;
PMyRec = ^TMyRec;   {定义结构指针; Delphi 一般把它定义在结构前面, 都可以}

{如果使用结构指针}
procedure TForm1.Button2Click(Sender: TObject);
var
pr: PMyRec;
begin
New(pr);            {分配内存}
pr^.name := '张三';
pr^.age := 99;
ShowMessage(Format('%s %d 岁', [pr^.name, pr^.age])); {张三 99 岁}
Dispose(pr);        {释放内存}
end;

{Delphi 允许使用结构时做如下简化}
procedure TForm1.Button3Click(Sender: TObject);
var
pr: PMyRec;
begin
New(pr);
pr.name := '张三';
pr.age := 99;
ShowMessage(Format('%s %d 岁', [pr.name, pr.age])); {张三 99 岁}
Dispose(pr);
end;

end.

Button1Click: var r: TMyRec;
Button2Click: var pr: PMyRec; {定义的是结构的指针}
Button3Click: 同 Button2Click , 访问也可以省略 pr 后面的 ^

posted @ 2011-03-19 12:05  hyflower  阅读(319)  评论(0编辑  收藏  举报