A. Pengertian Pointer
Pointer ( variabel petunjuk) adalah suatu variabel
yang berisi alamat memori dari suatu variabel lain. Pointer merupakan variabel
level rendah yang dapat digunakan untuk menunjuk nilai integer, character,
float, double, atau single, dan bahkan tipe-tipe data lain yang didukung oleh
bahasa C.
Variabel biasa, sifatnya statis dan sudah pasti, sedangkan
pada pointer sifatnya
dinamis dan dapat lebih fleksibel. Variabel pointer yang
tidak menunjuk pada nilai apapun berarti memiliki nilai NULL, dan disebut
sebagai dangling pointer karena nilainya tidak diinisialisasi dan tidak dapat
diprediksi.
B. Deklarasi Pointer
Deklarasi variabel pointer seperti halnya deklarasi variabel
lainnya hanya ditambahkan tanda * pada depan nama variabel.
int *b
Untuk mendapatkan alamat memori pointer (address of) maka
perintah yang digunakan adalah menambahkan tanda & didepan variabel
&b
Untuk mendapatan Isi atau nilai dari variabel pointer maka
perintah yang digunakan cukup nama variabelnya saja.
b
Untuk mendapatkan isi atau nilai dari alamat yang terdapat
pada isi pointer (value pointed by) maka perintah yang digunakan adalah
menambahkan tanda * didepan variabel
*b
C. Pass by value dan pass by reference
Pass by value, jika di dalam fungsi atau prosedur
dilakukan perubahan nilai parameter yang dilewatkan secara nilai, maka nilai
parameter yang sebenarnya tidak ikut berubah hal ini dikarenakan parameter yang
dilewatkan secara nilai akan di copy sebagai nilai lokal di prosedur atau
fungsi yang bersangkutan.
CONTOH :
dari program di atas dapat kita rinci menjadi
Sehingga apabila di outputkan menjadi
Pass by reference, jika di dalam prosedur atau fungsi dilakukan perubahan nilai parameter yang dilewatkan secara reference, maka nilai parameter yang sebenarnya juga akan berubah.
CONTOH :
dari program di atas dapat kita jelaskan menjadi :
Sehingga apabila di outputkan menjadi :
Terlihat perbedaan antara Pass by Reference & pass by Value, Fungsi
pass by value mendeklarasikan parameter inputan yang berupa variabel, sedangkan
fungsi pass by reference mendeklarasikan parameter inputan yang berupa pointer.
Dalam pemanggilan fungsi, fungsi dengan pass by value cukup menginputkan nama
variabel (h dan u) pada parameter inputnya. Namun untuk memanggil fungsi pass
by reference kita harus menyertakan tanda & di depan nama variabel, karena
parameternya berupa variabel pointer.
Tidak ada komentar:
Posting Komentar