Pointer banyak dilibatkan dalam program C. Misalnya untuk melewatkan string dari suatu fungsi ke fungsi yang lain. Penerapan pointer yang paling umum yaitu untuk menciptakan variabel dinamis, yang memungkinkan untuk memakai memori bebas (memori yang belum dipakai) selama eksekusi program.
Pointer Menunjuk Obyek Lain — Variabel pointer sering dikatakan sebagai variabel yang menunjuk ke obyek lain. Pada kenyataan yang sebenarnya, variabel pointer (atau disingkat menjadi pointer saja) berisi alamat dari suatu obyek lain (yaitu obyek yang dikatakan ‘ditunjuk’ oleh pointer). Sebagai contoh, px adalah pointer dan x adalah variabel yang ditunjuk oleh px. Apabila x berada pada alamat memori (alamat awal) 1000, maka px akan berisi 10000.
Mengatur Pointer agar Menunjuk ke Variabel yang Lain – Agar suatu pointer menunjuk ke variabel lain, mula-mula pointer harus diisi dengan alamat dari variabel yang akan ditunjuk. Untuk menyatakan alamat dari suatu variabel, operator & (operator alamat, yang bersifat unary) dapat dipergunakan dengan menempatkan operator ini di depan nama variabel. Sebagai contoh, apabila x dideklarasikan sebagai variabel bertipe integer, maka &x berarti ‘alamat dari variabel x‘. Adapun contoh pemberian alamat ke suatu variabel pointer px (yang dideklarasikan sebagai pointer yang menunjuk pada data bertipe integer) adalah seperti berikut ini :
px = &x
Pernyataan di atas berarti bahwa px diberi nilai berupa alamat dari variabel x. Setelah pernyataan tersebut dieksekusi barulah dapat dikatakan bahwa px menunjuk ke variabel x.
Mengakses Isi Suatu Variabel Melalui Pointer – Apabila suatu variabel sudah ditunjuk oleh pointer maka variabel itu dapat diakses melalui variabel itu sendiri ataupun melalui pointer. Pengaksesan dengan pointer dilakukan dengan menggunakan operator indirection berupa simbol asterik ‘*‘ yang bersifat unary. Contoh : *px yang menyatakan ‘isi atau nilai variabel/data yang ditunjuk oleh pointer px‘. Jika y bertipe integer, maka sesudah dua statement berikut :
px = &x;
y = *px;
y akan berisi nilai yang sesuai dengan nilai x. Untuk lebih jelasnya perhatikan contoh berikut :
#include <stdio.h>
main(){
int x,y;
int *px;
x = 99;
px = &x;
y = *px;
printf(”Isi x = %d\n”, x);
printf(”Alamat x = %p\n”, &x);
printf(”Isi px = %p\n”,px);
printf(”Isi yang ditunjuk oleh px = %d\n”, *px);
printf(”Isi y = %d\n”, y);
}
$ gcc -o pointerlanjut pointerlanjut.c
$ ./pointerlanjut
Isi x = 99
Alamat x = 0xbfbfecf4
Isi px = 0xbfbfecf4
Isi yang ditunjuk oleh px = 99
Isi y = 99
$
Dedicated for Light Intermutimedia
Perusahaan Software Pulsa