Pada
kesempatan ini saya akan membahas apa itu Pointer dalam Bahasa C. Pointer
(dalam pemrograman C) adalah suatu variable yang berisikan suatu alamat lokasi
tertentu. Yang disimpan oleh variabel yang didefinisikan sebagai pointer adalah
'alamat' variabel tersebut. Seperti yang kita ketahui, variabel pointer
berfungsi sebagai penunjuk alamat lokasi variabel lain, dan mengganti nilai
variable lyang ditunjuk tersebut Pada operasi pointer, kita menggunakan 2
buah operator dalam bahasa C yaitu “*” dan “&”. Dalam pembuatan program
menggunakan pointer, tanda asterisk “*” digunakan untuk menentukan variable
yang menjadi suatu pointer.
Pada
deklarasi, penulisan awal deklarasi dapat dibuat sebagai berikut :
Tipe_data
*nama_variabel_komputer
Seperti
contoh, kita membuat deklarasi int *b, berarti sebuah pointer hanya dapat
menunjuk sebuah variable dengan tipe data integer
Untuk
mendapatkan alamat dari suatu variabel, maka kita perlu menggunakan operator
“&” di depan variable tersebut. Adapun contoh dalam penggunaannya :
printf(“Alamat
dari variabel a = %d”, &a);
Maka
pada saat program dijalankan, akan muncul alamat dari variabel a tersebut
Untuk
mendapatkan nilai dari suatu variable, maka pertintah yang digunakan cukup
hanya dengan memanggil variabel nya saja. Adapun contoh penggunaannya :
Printf(“Isi
dari variabel a = %d”, a);
Maka
pada saat program dijalankan, akan muncul nilai dari variabel a tersebut
Untuk
mendapatkan nilai dari suatu alamat yang terdapat pada isi pointer, maka
perintah yang digunakan adalah mendambah tanda asterisk “*” di depan variabel.
Adapun contoh penggunaannya :
*b=&a
Printf(“Isi
dari variabel yang ditunjuk poiter adalah %d”, *b);
Maka
pada saat program dijalankan, akan muncul nilai dari variabel yang ditunjuk
poleh pointer b, yaitu nilai dari variabel a tersebut
Untuk
contoh program yang mencari alamat dan nilai variabel, dapat kita lihat contoh
koding berikut :
#include
<stdio.h>
main(){
int
*b;
int a;
a=9;
printf("Isi variabel a = %d\n",a);
printf("Alamat variabel a = %d\n",&a);
printf("Alamat variabel *b = %d\n",&b);
printf("Isi variabel *b = %d\n",b);
b=&a;
printf("Alamat variabel *b = %d\n",&b);
printf("Isi variabel *b = %d\n",b);
printf("Isi dari alamat %d = %d",b,*b);
}
Bisakah
suatu pointer menunjuk variabel yang juga merupakan pointer?
Jawabannya
adalah...... bisa! Namun, agar pointer dapat menunjuk pointer lain, maka harus
mendeklarasikan variabel pointer terlebih dahulu. Seperti contoh deklarasi int
*pointera, int **pointer . Semakin banyak pointer yang digunakan, maka jumlah
asterisk “*” yang digunakan juga bertabah seperti contoh sebelumnya. Dalam
penggunaannya, apabila kita menggunakan 2 pointer dengan satu variabel yang
ditunjuk, maka iluistrasi proses yang terjadi adalah pointerb = pointera =
&variabel.
Contoh
koding :
#include <stdio.h>
main(){
int variabel = 9, *pointera, **pointerb;
pointera=&variabel;
pointerb=&pointera;
printf("Nilai variabel = %d", variabel);
printf("\nNilai *pointera = %d", *pointera);
printf("\nNilai **pointerb = %d", **pointerb);
إرسال تعليق