Kusnassriyanto's Blog

Monday, December 12, 2005

Array Dinamik

Kita tahu bahwa array dinamik adalah pointer. Kita juga tahu bahwa assignment array dinamik tidak meng-copy isi array tapi hanya alamatnya yang di-copy.

var
A, B: array of Integer;
begin
SetLength(A, 3);
A[0] := 1; A[1]:=2; A[2]:=3;
B := A;
B[1] := 10;
SetLength(A, 5);
end;

Kita tahu bahwa B[1]:=10; dalam kode diatas juga akan menyebabkan A[1] bernilai 10 karena A dan B menunjuk alamat yang sama.
Pertanyaannya adalah : Apa yang terjadi setelah SetLength(A, 5); ?
Temukan jawabannya dalam artikel ini. Jangan lupa, komentar anda saya tunggu.