Dari banyak kelebihan Bahasa C++ adalah karena mendukung sepenuhnya untuk Memanipulasian memori dengan menggunakan Pointer.
Pointer juga merupakan fitur C++ yang berbahaya karena dapat mengakibatkan sistem operasi di komputer Crash atau Rusak. Penggunaan yang salah juga dapat menyebabkan bug yang sangat sulit di temukan.
Variable Pointer
Pointer adalah suatu variabel yang menyimpan alamat memori.
Jika kamu mempunyai variabel dengan tipe data tertentu (Misal: 4Byte,Float,dll) maka untuk mendapatkan alamat dari variabel tersebut adalah dengan menggunakan operator ' & ' .
Alamat inilah yang kemudian akan di save ke dalam variabel yang bertipe Pointer. Sedangkan untuk mendeklarasikan variabel sebagai Pointer, Kamu hanya menambahkan tanda asterisk ' * ' di depan nama variabel ( Contoh : *P ) .
Bentuk rumus pointer dalam data:
tipe_data *nama_pointer;
Note:
tipe_data* nama pointer atau tipe_data * nama pointer
Pointer adalah suatu variabel yang menyimpan alamat memori.
Jika kamu mempunyai variabel dengan tipe data tertentu (Misal: 4Byte,Float,dll) maka untuk mendapatkan alamat dari variabel tersebut adalah dengan menggunakan operator ' & ' .
Alamat inilah yang kemudian akan di save ke dalam variabel yang bertipe Pointer. Sedangkan untuk mendeklarasikan variabel sebagai Pointer, Kamu hanya menambahkan tanda asterisk ' * ' di depan nama variabel ( Contoh : *P ) .
Bentuk rumus pointer dalam data:
tipe_data *nama_pointer;
Note:
tipe_data* nama pointer atau tipe_data * nama pointer
data di atas berguna untuk mendeklarasikan bahwa pointer yang kita deklarasikan tersebut akan di tempati oleh data dengan tipe tertentu.
Contoh kamu akan mendeklarasikan pointer P yang akan di tempati oleh tipe data long, maka rumus Deklarasinya adalah sebagai berikut :
long *P // mendeklarasikan pointer P // yang akan menunjuk ke tipe long
Contoh kamu akan mendeklarasikan pointer P yang akan di tempati oleh tipe data long, maka rumus Deklarasinya adalah sebagai berikut :
long *P // mendeklarasikan pointer P // yang akan menunjuk ke tipe long
Jika Kamu mempunyai variabel yang bertipe long ( Misal: X ), maka kita dapat memerintahkan pointer P di atas untuk menunjuk ke alamat yang di tempati oleh variabel X.
contoh syntax :
long X; // mendeklarasikan variabel X dengan tipe long
long *P; //ini adalah Deklarasi pointer P untuk X
P = &X; // memerintahkan P untuk menunjuk alamat dari variabel X
Apabila kamu analisis potongan syntax di atas, sebenarnya konsep nya sangat sederhana. Kamu tau bahwa P adalah pointer ( berisi Alamat ) dan &X juga berisi alamat, maka kita dapat menyimpan alamat dari variabel X tersebut kedalam pointer P. Kamu 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 ).
contoh syntax :
long X; // mendeklarasikan variabel X dengan tipe long
long *P; //ini adalah Deklarasi pointer P untuk X
P = &X; // memerintahkan P untuk menunjuk alamat dari variabel X
Apabila kamu analisis potongan syntax di atas, sebenarnya konsep nya sangat sederhana. Kamu tau bahwa P adalah pointer ( berisi Alamat ) dan &X juga berisi alamat, maka kita dapat menyimpan alamat dari variabel X tersebut kedalam pointer P. Kamu 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 ).
Kalau kamu 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.
*P = X ; // BENAR , karena *P adalah nilai // yang berada pada pointer P
Sebagai catatan bahwa *P ini di sebut dengan deference pointer.
Sekianlah Postingan Dari Developer Wiki Tech. Tentang " Pengenalan Pointer " Semoga Bisa Bermanfaat untuk Wikipiter!.
Anda Sekarang Sedang Membaca Postingan " Pengenalan Pointer " Dengan URL https://developerwikitech.blogspot.com/2017/04/pengenalan-pointer.html
Jika Ada Content Yang Berbau Pantest, Postingan Tersebut Hanya Untuk Pembelajaran. Admin Tidak Bertanggung Jawab Jika Terjadi Sesuatu Kepada Anda.
No comments:
Post a Comment