在 Delphi 中,可以使用 CopyMemory
函数来实现数组的复制。CopyMemory
函数位于 Windows
单元中,用于将一段内存中的数据复制到另一段内存中。以下是一个示例代码:
uses
Windows;
procedure ArrayCopy(const Source: array of Integer; var Dest: array of Integer);
begin
if Length(Source) <> Length(Dest) then
Exit;
CopyMemory(@Dest[0], @Source[0], Length(Source) * SizeOf(Integer));
end;
var
SourceArray: array[0..4] of Integer = (1, 2, 3, 4, 5);
DestArray: array[0..4] of Integer;
begin
ArrayCopy(SourceArray, DestArray);
end.
在上面的示例中,ArrayCopy
过程用于将 SourceArray
的内容复制到 DestArray
。首先,通过 Length
函数比较两个数组的长度,如果不相等则直接退出。然后,使用 CopyMemory
函数将 SourceArray
的数据复制到 DestArray
。
需要注意的是,CopyMemory
函数是通过底层的内存复制来实现的,可能会导致一些潜在的问题,比如内存溢出或者越界访问。因此,在使用 CopyMemory
函数时,务必要确保源数组和目标数组的长度相等,并且要小心处理数组边界。