假设我有这个声明:
TYPE
RDisk= packed record
R2: array[1..1024] of Byte;
etc
etc
end;
如何使用如下的常量声明将R2初始化为零:
CONST
Disk: RDisk=
(
R: ??
);
有关
答案 0 :(得分:4)
省略您想要归零的字段:
type
RDisk= packed record
R2: array[1..512] of Byte;
I: Integer;
D: Double;
R3: array[1..512] of Byte;
end;
const
Disk: RDisk=
(
I: 3;
D: 2.5;
);
,或者
const
Disk: RDisk=
(
);
我不知道它为什么有用,它不太适合Record Constants'文档。
答案 1 :(得分:3)
您可以声明R2
类型的常量并将其初始化为所有零,如下所示:
const
zeros: R2 = (0, 0, 0, ...);
数组长度为1024,因此您必须在该列表中指定所有1024个以逗号分隔的值。
答案 2 :(得分:2)
您可以使用此
将数组初始化为零ZeroMemory(@R2[0],length(R2));
或者
FillChar(R2[0],length(R2),0);