[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 :
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 :
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 :
Sekian tentang Pointer in C++
by : Devata Verza Rian
Posted by Devata Verza Rian. at 10:22 0 comments