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