[Learn] Pointer in C++

Salah satu kelebihan dari bahasa C++ adalah karena bahasa ini mendukung sepenuhnya untuk pemanipulasian memori dengan menggunakan pointer. Namun di balik itu , pointer juga merupakan salah satu fitur C++ yang berbahaya karena dapat mengakibatkan sistem operasi di komputer kita rusak (Crash). Penggunaan pointer dengan cara yang salah juga dapat menyebabkan bug yang sangat sulit di temukan.

Posting kali ini akan menjelaskan bagaimana pointer bekerja dan mengapa sangat  di butuhkan di program.

Variabel Pointer
Mungkin anda bingung apa sebenarnya pointer ? Secara definisi , pointer dapat di artikan sebagai suatu variabel yang menyimpan alamat memori. Jika kita mempunyai variabel dengan tipe data tertentu, maka untuk mendapatkan alamat dari variabel tersebut adalah dengan menggunakan operator ' & '. Alamat inilah yang kemudian akan di simpan ke dalam variabel yang bertipe pointer. Sedangkan untuk mendeklarasikan variabel sebagai pointer  , kita hanya menambahkan tanda asterisk ' * ' di depan nama variabel ( ex : *P ) .
Berikut ini bentuk umum dari pendeklarasian variabel yang bertipe pointer
tipe_data *nama_pointer;                                                                   

Sebagai catatan bahwa penulisan di atas dapat di ganti dengan  :
tipe_data* nama pointer atau tipe_data *  nama pointer 

Tipe data di atas beguna untuk menyatakan bahwa pointer yang kita deklarasikan tersebut  akan di tempati oleh data dengan tipe tertentu. Sebagai contoh kita akan mendeklarasikan pointer P yang akan di tempati oleh tipe data long , maka bentuk pendeklarasiannya adalah sebagai berikut  :
long *P // mendeklarasikan  pointer P // yang akan menunjuk ke tipe long

Jika kita mempunyai variabel yang bertipe long  ( misal : X ) , makan kita dapat memerintahkan pointer  P di atas untuk menunjuk ke alamat yang  di tempati oleh variabel X.
contoh sintaks :

long X; // mendeklarasikan variabel X dengan tipe long
long *P;                                                                      
P = &X; // memerintahkan P untuk menunjuk alamat dari variabel X 
Apabila kita analisis potongan sintaks di atas , sebenarnya konsep nya sangat sederhana. Kita tau bahwa P adalah  pointer ( berisi Alamat ) dan &X juga berisi alamat , maka kita dapat menyimpan alamat dari variabel X tersebut kedalam pointer P. Kita tidak dizinkan untuk memasukan sebuah nilai ( bukan alamat ) ke dalam pointer P.
Contoh sintaks sebagai berikut :
P = X ; // SALAH , karena x berupa nilai ( bukan berupa alamat ) 

Jika kita memang ingin mengisikan nilai kedalam alamat  yang di simpan oleh pointer P , maka seharusnya kita menggunakan tanda asterisk' * ' di depan nama pointer tersebut , yaitu dengan mengubah sintaks di atas menjadi seperti ini : 
*P = X ; // BENAR , karena *P adalah nilai // yang berada pada pointer P
Sebagai catatan bahwa *P ini di sebut dengan deference pointer.

Sekian tentang Pointer in C++ 
by : Devata Verza Rian

DevCoderz Follower

Copyright (c) 2012 - 2013 Not4shared Inc ||. Powered by Blogger.

Archive DevBlog