1.1 Konsep
Dasar Pointer
Pointer (variabel penunjuk) adalah
suatu variabel yang berisi alamat lokasi suatu memori tertentu. Jadi isi dari
variabel pointer merupakan alamat dari lokasi memori yang digunakan untuk
menyimpan data dan bukan nilai data itu sendiri. Misalnya X adalah suatu
variabel biasa yang berisi nilai karakter ‘J’.
X bukan variabel pointer. Nilai
dari X ini oleh kompiler C++ akan diletakkan di suatu lokasi memori tertentu.
Nilai ini dapat diakses jika diketahui alamat memorinya. Untuk mengetahui
alamat memori yang digunakan oleh variabel X dalam menyimpan nilai datanya
dapat diketahui dengan ungkapan &X. Alamat tersebut dapat ditulis dengan
mengambil sebuah variabel lagi yang disebut dengan variabel pointer, misalnya:
Alamat_X = &X. Alamat_X adalah variabel pointer karena variabel ini
menunjuk ke lokasi memori di mana nilai data dari variabel X disimpan.
Contoh pada
sebuah baris program berikut:
char *Alamat_X,
X;
X = ‘J’;
Alamat_X =
&X;
Dari baris
program di atas, dapat ditemukan bahwa:
Nilai X = ‘J’
Nilai Alamat_X
= 2527:24C7
Dengan ilustrasi sebagai berikut :
Ini berarti variabel X menyimpan nilai
datanya yaitu ‘J’ pada alamat lokasi memori 2527:24C7. Alamat_X adalah variabel
pointer yang menunjuk pada alamat lokasi memori yang digunakan oleh variabel X.
Sebelum digunakan, variabel pointer harus dideklarasikan terlebih dahulu dengan
diawali suatu asterisk (“*”).
Bahasa C/C++ menyediakan dua buah
operator pointer, yaitu operator ‘&’ dan operator ‘*’. Operator ‘&’
digunakan untuk mendapatkan alamat lokasi memori yang digunakan oleh sebuah
variabel biasa (dalam contoh di atas, &X digunakan untuk mendapatkan alamat
memori yang digunakan oleh variabel X). Sedangkan operator ‘*’ digunakan untuk
mendapatkan nilai data yang ditunjuk oleh variabel pointer pada alamat memori
tersebut.
Contoh 1:
#include
#include
void main()
{
char *Alamat_X, X, Y, Z;
X = 'J';
Alamat_X = &X;
Y = X;
Z = *Alamat_X;
cout<<"Nilai variabel X
adalah "<<
cout<<"Nilai variabel Y
adalah "<<
cout<<"Nilai variabel Z
adalah "<<
cout<<"Nilai variabel X
berada di alamat memori ";printf("%p",Alamat_X);
}
Jika program ini dijalankan, akan
didapatkan hasil:
Pada contoh-contoh di atas, kita
mengalokasikan alamat lokasi memori yang digunakan oleh sebuah variabel pointer
dengan menggunakan variabel bantu (dalam hal ini adalah variabel X). Jika kita
ingin menciptakan sebuah variabel pointer tanpa menggunakan bantuan variabel
biasa, kita harus terlebih dahulu mengalokasikan alamat lokasi memori variabel
pointer yang akan digunakan. Kompiler C++ tidak dapat mengalokasikan secara
otomatis alamat lokasi memori sebuah variabel pointer pada saat pertama kali
variabel tersebut dideklarasikan. Untuk mengatasi hal ini, kita dapat
menggunakan alokasi dinamis yang dapat dilakukan dengan pemanggilan fungsi
standar malloc() dengan prototipenya berada pada file malloc.h. Cara alokasi
dinamis ini akan menggunakan memori yang masih kosong. Fungsi malloc() akan
mengalokasikan secara dinamis blok memori yang masih kosong untuk digunakan
oleh variabel pointer.
Title : Pointer Pada Bahasa C++
Description : 1.1 Konsep Dasar Pointer Pointer (variabel penunjuk) adalah suatu variabel yang berisi alamat lokasi suatu memori tertentu. Jadi isi ...