Pointer - Bahasa C



Pointer

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);
}

Sumber gambar : nurmalitasari04.blogspot.com
Previous
Next Post »