POINTER dalam bahasa C
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.
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.
dari program di atas dapat kita jabarkan 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 jabarkan 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.
Komentar
Posting Komentar