MEMORI DINAMIS PADA STRUKTUR DATA
Dengan menggunaan Pointer
Pada
contoh program di samping kiri sejumlah memori secara ekplisit disisihkan untuk
menampung array titik yang mempunyai 10 elemen. Sebenamya alokasi memori ini,
hanya yang dibutuhkan saja, dapat dilakukan secara dinamis yaitu dilakukan pada
saat run-time, Untuk melakukan hal ini kita perlu array yang elemen elemennya
adalah pointer ke suatu struktur seperti dijelaskan pada program di samping
kanan.
Alokasi memori secara dinamis dilakukan dengan operator new
dan dealokasi dilakukan dengan operator delete. Keduanya merupakan operator
baru pada C++.
#include
struct ttk
{
int x;
int y;
};
main()
{
int i;
struct ttk
titik[10];
for (i=0; i <
10; ++i)
{
titik[i].x = i ;
titik[i].y=i;}
for(i=0;i<
10;++i)
{cout <<
titik[i].x << ", " << titik[i].y <<
"\n";
}
return 0;}
|
#include
struct ttk
{
int x;
int y;
};
main()
{
int i;
struct ttk *titik[10];
for(i=0;i<10;++i)
{
titik[i] = new ttk;
titik[i]->x=i;
titik[i]->y = i;
}
for (i=0;i< 10;++i)
{
cout << titik[i]->x << ", "<< titik[i]->y << "\n";
}
for(i=0;i< 10;++i)
{
// free(titik[i]);
delete titik[i];
}
return 0;
}
|