让我们假设这些声明:
type
TMyRec = record
Name : String;
Age : Integer;
Married : Boolean;
end;
TMyRecArray = Array[0..3] of TMyRec;
const
RecArray: TMyRecArray = ((Name: 'John' ; Age: 25; Married: False),
(Name: 'Wendy'; Age: 32 ),
(Name: 'Nick' ; Married: True ),
( Age: 19; Married: False));
最后三个数组行中未列出的记录元素是否使用默认值自动初始化?或者(可以)它们包含随机数据吗?
Embarcadero's docwiki没有就此发表任何正式声明。
答案 0 :(得分:5)
具有默认值的记录数组常量声明可以声明为:
const
RecArray: TMyRecArray = ((),
(),
(),
());
所以是的,省略常量声明中的记录字段将产生默认值。
不幸的是,这种行为没有记录。您必须使用调试器进行验证。 Delphi的前身Turbo Pascal的工作方式几乎相同。您必须包括所有字段的值,直到最后一个非默认字段。