DELPHi 初学,我这样就已经初始化一个结构体了么

p1,p2,head=^node; node = record age:integer; score:integer; next:head;
2025-04-26 08:32:35
推荐回答(2个)
回答1:

好像不支持连续定义,所以要
type
 PHead = ^TNode;
  TNode = record
  age:integer;
  score:integer;
  next: PHead;
 end;
p1 = PHead;
p2 = PHead;
在type段里,“=”就是类型相同.

Pxxx是指针定义约定俗成的,Txxx是类或结构体约定俗成的。

要初始化,需要先声明变量,再赋值
var
p: PHead;
begin
new(p);//为结构体指针分配空间
p^.age := 20;
p^.score := 100;
p^.next := nil;
end;

最新的Delphi语法可以在结构体里写构造函数,具体方法可以去网上搜一搜

回答2:

这样只是定义