Perbedaan Antara Pointer dan Array

Perbedaan Antara Pointer dan Array
Perbedaan Antara Pointer dan Array

Video: Perbedaan Antara Pointer dan Array

Video: Perbedaan Antara Pointer dan Array
Video: USTADZ ABDUL SOMAD - PERBEDAAN NU DAN MUHAMMADIYAH 2024, November
Anonim

Penunjuk vs Array

A pointer adalah tipe data yang menyimpan referensi ke lokasi memori (yaitu variabel pointer menyimpan alamat lokasi memori di mana beberapa data disimpan). Array adalah struktur data yang paling umum digunakan untuk menyimpan kumpulan elemen. Sebagian besar bahasa pemrograman menyediakan metode untuk mendeklarasikan array dengan mudah dan mengakses elemen dalam array.

Apa itu Pointer?

Penunjuk adalah tipe data yang menyimpan alamat lokasi memori tempat beberapa data disimpan. Dengan kata lain, pointer memegang referensi ke lokasi memori. Mengakses data yang disimpan di lokasi memori yang direferensikan oleh pointer disebut dereferencing. Saat melakukan operasi berulang seperti melintasi pohon/string, pencarian tabel, dll., menggunakan pointer akan meningkatkan kinerja. Ini karena dereferencing dan menyalin pointer lebih murah daripada benar-benar menyalin dan mengakses data yang ditunjuk oleh pointer. Pointer null adalah pointer yang tidak menunjuk ke apapun. Di Java, mengakses pointer nol akan menghasilkan pengecualian yang disebut NullPointerException.

Apa itu Array?

Ditunjukkan pada gambar 1, adalah bagian dari kode yang biasanya digunakan untuk mendeklarasikan dan menetapkan nilai ke array. Gambar 2 menggambarkan bagaimana array akan terlihat seperti di memori.

int nilai[5];

nilai[0]=100;

nilai[1]=101;

nilai[2]=102;

nilai[3]=103;

nilai[4]=104;

Gambar 1: Kode untuk mendeklarasikan dan menetapkan nilai ke array

100 101 102 103 104
Indeks: 0 1 2 3 4

Gambar 2: Array disimpan dalam memori

Kode di atas mendefinisikan array yang dapat menyimpan 5 bilangan bulat dan diakses menggunakan indeks 0 hingga 4. Salah satu properti penting dari array adalah, seluruh array dialokasikan sebagai satu blok memori dan setiap elemen mendapatkan ruang sendiri dalam array. Setelah array didefinisikan, ukurannya tetap. Jadi, jika Anda tidak yakin tentang ukuran array pada waktu kompilasi, Anda harus mendefinisikan array yang cukup besar agar aman. Namun, seringkali, kita sebenarnya akan menggunakan lebih sedikit elemen daripada yang telah kita alokasikan. Jadi sejumlah besar memori sebenarnya terbuang sia-sia. Di sisi lain jika "array cukup besar" sebenarnya tidak cukup besar, program akan crash.

Apa perbedaan antara Pointer dan Array?

A pointer adalah tipe data yang menyimpan alamat lokasi memori di mana beberapa data disimpan, sedangkan Array adalah struktur data yang paling umum digunakan untuk menyimpan kumpulan elemen. Dalam bahasa pemrograman C, pengindeksan array dilakukan menggunakan aritmatika pointer (yaitu elemen ke-i dari array x akan setara dengan (x+i)). Oleh karena itu dalam C, set pointer yang menunjuk ke satu set lokasi memori yang berurutan, dapat dianggap sebagai array. Selanjutnya, ada perbedaan dalam cara operator sizeof beroperasi pada pointer dan array. Ketika diterapkan ke array, operator sizeof akan mengembalikan seluruh ukuran array, sedangkan ketika diterapkan ke pointer, itu hanya akan mengembalikan ukuran pointer.

Direkomendasikan: