Monday, April 30, 2012

Pointer Problems

Example of How Pointer Works
Penggunaan pointer memang  efektif dalam mengelola memori dinamik dengan indirect addressing. Namun ada beberapa masalah yang sangat fatal jika kita menggunakan pointer , yaitu Dangling pointers dan Lost heap-dynamic variable.

Keadaan ketika pointer menunjuk ke variabel heap-dynamic yang telah di deallocated (tidak dapat diakses lagi disebut Dangling Pointers.


Lost heap-dynamic variable yaitu Alocated heap-dynamic variable yang tidak dapat lagi diakses oleh pemrogram tersebut.

Untuk Masalah Dangling Pointers ada solusinya yaitu :


  • Tombstone : menambahkan sel heap yang berupa pointer ke heap-dynamic variable. Variabel pointer aktual hanya menunjuk ke tombstone. Jika variabel heap-dynamic di de-allocated, tombstone tetap ada tetapi di-set ke nil.
  • Locks-and-keys : nilai pointer disajikan sebagai pasangan. Variabel heap-dynamic disajikan sebagai variabel plus sel nilai integer lock. Jika variabel heap-dynamic dialokasi, nilai lock di-create dan diletakan di sel lock dan sel key.
Enhanced by Zemanta

No comments:

Post a Comment