在 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
函數時,務必要確保源數組和目標數組的長度相等,并且要小心處理數組邊界。