You are on page 1of 2

POINTER

9.1 KONSEP DASAR POINTER Suatu Pointer (variabel penunjuk) adalah suatu variabel yang berisi dengan alamat lokasi suatu memori tertentu. Jadi suatu pointer bukan berisi dengan suatu nilai data, tetapi berisi dengan suatu alamat di memori. Atau didalam program dimaksudkan untuk menunjuk ke suatu alamat memori.

9.2 OPERATOR POINTER Bahasa C menyediakan dua buah operator untuk operasi pointer yaitu operator * dan operator &. Operator alamat & digunakan untuk mendapatkan alamat memori dari operandnya. Operator * digunakan untuk mendapatkan nilai dari operandnya. Operand untuk operator * adalah variabel pointer.

9.3 DEKLARASI POINTER Bentuk umum deklarasi variabel pointer adalah sebagai berikut : tipe_data *nama_variabel_pointer; Keterangan : tipe_data, dapat berupa sembarang tipe seperti halnya pada pendefinisian variabel bukan-pointer. * , notasi atau simbol pointer. nama_variabel, nama variabel pointer. Contoh Deklarasi : int *p1; //pointer yang menunjuk ke data bertipe int int *p2; //pointer yang menunjuk ke data bertipe int int *p3; //pointer yang menunjuk ke data bertipe int p1 p2 p3

9.4 MENGISI VARIABEL POINTER Agar suatu variabel pointer menunjukkan ke variabel lain, mula-mula harus diisi dengan alamat dari variabel yang hendak ditunjuk. p1 vint1 17 p1 17 vint1

Ilustrasi di atas dapat diterangkan bahwa. Baris pertama mendeklarasikan pointer p1. Baris ke dua adalah pendeklarasian dan penugasan variabel vint1, dan baris ke 3 adalah Pointer p1 diatur menunjuk ke alamat vint1 . int *p1; int vint1 = 17; p1 = &vint1; Pernyataan p1 = &vint1; berarti p1 diisi dengan alamat dari vint. Operator & menyatakan alamat dari . Contoh Penugasan : *p1 = 10; *p2 = *p1 + 4 + 3; *p3 = *p1 + 8; *p3 = *p1 ; p1 p2 p3 p3 10 17 18 10

Pointer Menunjuk Pointer Suatu pointer bisa menunjuk ke pointer lain. Gambaran mengenai ini dapat dilihat pada ilustrasi berikut : p1 p2 var_x

Untuk membentuk rantai pointer seperti pada ilustrasi diatas. Diperlukan pendefinisian sebagai berikut : int var_x; int **p1; // satu tanda * didepan p1 int *p2; // dua tanda * didepan p2 agar p2 menunjuk ke variabel var_x, perintah yang diperlukan berupa : p2 = &var_x; sedangkan agar p1 menunjuk ke p2, diperlukan perintah berupa : p1 = &p2; 2

You might also like