Skip to main content

Apa array pointer?

Array pointer adalah tipe data array standar yang menampung urutan memori yang ditujukan untuk tipe data yang bertentangan dengan memegang tipe skalar lain seperti bilangan bulat atau angka titik mengambang.Dengan menggunakan array pointer, suatu program dapat memiliki array dari hampir semua tipe data, struktur data, kelas atau bahkan fungsi.Penyortiran yang efisien dari array pointer juga dimungkinkan sehingga, jika diinginkan, alamatnya dapat diselaraskan sesuai dengan lokasi fisik mereka dalam memori komputer.Beberapa komplikasi dalam menggunakan array pointer adalah bahwa data dapat dengan mudah rusak dan jenis data yang diarahkan untuk dikelola secara internal untuk mencegah masalah meluap memori.

Tidak semua bahasa pemrograman memungkinkan array pointer sebagaiKonsep ini awalnya dikandung.Bahasa tingkat tinggi yang mengotomatiskan manajemen memori tidak menggunakan pointer dengan cara yang sama seperti bahasa tingkat rendah, meskipun secara teknis serangkaian objek kelas dalam bahasa tingkat tinggi yang berorientasi objek adalah array pointer;Meski begitu, mereka tidak dapat digunakan atau dimanipulasi dengan cara yang sama.Dalam bahasa tingkat rendah, array akan benar-benar memegang nilai integer yang merupakan alamat langsung pointer di tumpukan memori.Dalam sebagian besar bahasa tingkat tinggi, fungsi ini tidak dimungkinkan, meskipun ada paradigma alternatif.

Salah satu aspek yang membuat array pointer berharga sebagai alat pemrograman adalah bahwa pointer dapat merujuk semua jenis data yang tersedia.Pointer adalah tipe data itu sendiri, meskipun satu -satunya tujuannya adalah untuk menunjuk ke arah tipe data lain.Ini berarti serangkaian pointer sebenarnya dapat berisi berbagai tipe data dalam array yang sama, meskipun program perlu memiliki mekanisme untuk melacak apa yang dirujuk setiap pointer.Arahkan ke kode program yang dikompilasi dalam memori.Ini memungkinkan array untuk menunjuk ke fungsi, bukan hanya data.Array fungsi dapat memungkinkan referensi numerik dinamis kode.Ini dapat berguna saat memprogram penafsir bahasa atau jenis perangkat lunak lain yang perlu memanggil fungsi tertentu berdasarkan input yang tidak dapat diprediksi tanpa perlu pernyataan bersyarat besar seperti blok sakelar.

Beberapa masalah yang disajikan oleh berbagai data pointer adalah kemungkinankehilangan alamat, mencegah ingatan itu dibebaskan kemudian, dan kemungkinan alamat dapat rusak melalui operasi yang tidak disengaja seperti penambahan.Upaya untuk mengakses alamat yang salah dapat menyebabkan data yang rusak dibaca atau, dalam kasus -kasus ekstrem seperti inisialisasi yang gagal, kesalahan segmentasi yang dapat menyebabkan program berakhir secara tidak terduga.Pemrograman yang hati -hati dapat membantu mengurangi kemungkinan peristiwa ini.