Pointer Pada C++ Beserta Contoh Programnya
Pointer ( petunjuk ) yaitu variabel
yang berisi alamat dari suatu variabel lain. Pointer ini digunakan dengan
maksud untuk menunjukan ke suatu alamat memori sehingga kita dapat mengetahui
dengan mudah alamat dari suatu variabel. Pointer juga bisa diartikan sebagai
tipe data yang nilainya mengarah pada nilai yang terdapat pada alamat
memori.
Fungsi Pointer yang utama yaitu
menyimpan alamat memori dari sebuah variabel. Pointer juga dapat berfungsi
untuk menyimpan suatu alamat memori dari sebuah fungsi.
Contoh Program :
Perhatikan contoh Pointer di C++
berikut ini, program ini seperti biasa menggunakan program Microsoft Office
Studio 2013, Untuk compiler lain seperti Code Block, Turbo C++ dll, kalian
bisa mengganti int _tmain(int argc, _TCHAR* argv[]) menjadi int main() dan
menghapus #include "stdafx.h" agar tidak terjadi error. :
// Pointer.cpp : Defines the entry point for the console
application.
//
#include "stdafx.h"
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
int panjang;
int *a;
panjang = 20;
a = &panjang;
cout <<
"Alamat memory panjang terletak di "<< a << endl;
cout << "Nilai
panjang a adalah "<< *a << endl;
cout <<
"www.bantubelajar.com\n" << endl;
return 0;
}
Klik
Debug => Start Without Debugging atau Kombinasi keyboard Ctrl + F5 dan
hasilnya akan seperti ini :
Angka
0096F7DC disini adalah alamat memory dari varabel a. Sedangkan jika a =
&panjang maka nilai *a sudah pasti 20. Mudah bukan?
Macam - Macam Pointer :
1. Operator Dereference (&)
Operator Dereference
(&) yaitu operator yang berfungsi mendeklarasikan suatu variabel
didalam penggantian memori. operator ini biasa disebut dengan “address
of”. Jika ingin mengetahui dimana variable akan disimpan, kita dapat
memberikan tanda ampersand (&) didepan variable , yang berarti“address of”.
Dari contoh program diatas, nilai a
menjadi angka 0096F7DC, dengan menambahkan "&" pada variabel
panjang, inilah yang dimaksud operator dereference, yaitu mengubah suatu nilai
variabel menjadi alamat memori.
2. Operator Reference (*)
Operator Reference ini berkebalikan
dengan operator Dereference dimana nilai variabel menjadi alamat memory
sedangkan operator reference mengubah alamat memory menjadi nilai
variabel.
Operator Reference (*) yaitu
operator yang dapat mengakses secara langsung nilai yang terdapat didalam
variabel yang berpointer, hal ini dapat dilakukan dengan menambahkan
identifier asterisk ( * ). Operator ini biasa disebut dengan“value pointed by”
Dari contoh program diatas, nilai *a
menjadi angka 20, dengan menambahkan "*" pada variabel a, dimana
alamat memory 0096F7DC kembali menjadi nilai variabel yaitu 20, inilah yang
dimaksud operator reference, yaitu mengubah suatu alamat memori kembali
menjadi nilai variabel.
Tidak ada komentar:
Posting Komentar