请问Delphi中的record结构体能嵌套么?
初次接触delphi
请问 record结构体能嵌套使用么?
例如:
A = record
name:string;
end;
B = record
firend: array[0..10] of A
end;
问题:
1. B可以这样声明不?
2. 应该如何完成B结构的初始化,我用SetLength(B,0)编译无法通过
3. 如果以上不可以,请问如何在delphi中实现结构体中嵌套另外一个结构体的数组,如能回复非常感谢
[解决办法]
- Delphi(Pascal) code
type PPersonName = ^TPersonName; TPersonName = record Name: string; end; PPersonArr = ^TPersonArr; TPersonArr = record arr: array[0..10] of PPersonName; end;var A: PPersonName; B: PPersonArr; I: Integer;begin New(B); {申请PPersonArr内存} for I := 0 to 10 do begin New(A); {申请PPersonName内存} A.Name := 'A' + IntToStr(I); B.arr[I] := A end; for I := 0 to High(B.arr) do {使用} ShowMessage(B.arr[I].Name); for I := High(B.arr) downto 0 do Dispose(b.arr[I]); {释放PPersonName内存} Dispose(B); {释放PPersonArr内存}end;