POINTER
Pengertian pointer
Pointer
(variabel penunjuk) adalah suatu variabel yang berisi alamat memori dari suatu
variabel lain. Alamat ini merupakan lokasi dari obyek lain (biasanya variabel
lain) di dalam memori.
Contoh: jika
variabel A
berisi alamat dari variabel B, maka variabel A dikatakan menunjuk ke variabel
B.
Operator pointer ada 2 :
1.
Operator
&
Operator & menghasilkan alamat dari operandnya atau alamat memori yg ditempati
oleh variabel
2.
Operator
*
Operator * menghasilkan nilai
yang berada pada sebuah alamat.
Perbedaan pointer dengan variable biasa
Pointer
|
Variabel biasa
|
|
Deklarasi
|
int
*a;
|
int b;
|
Alamat
memori
|
Tidak
otomatis
|
Otomatis
|
Mengetahui
alamat memori
|
A
|
&b
|
Mengetahui
datanya
|
*a
|
b
|
Deklarasi
pointer:
Seperti
halnya variabel yang lain, variabel pointer juga harus dideklarasikan terlebih
dahulu sebelum digunakan. Bentuk Umum :
• Tipe_data *nama_pointer;
• Contoh : int
*nilai;
char
*huruf;
Ada dua
cara yang dapat dilakukan untuk alokasi space di memori bagi pointer, yaitu:
- Menempati space variable lain yang sudah punya space.
Variabel lain tersebut dapat
berupa variabel
biasa (bukan pointer) atau pointer yang tentunya sudah punya alokasi space
di memori.
Syntaxnya :
var_pointer = &var_biasa;
contoh :
Karena *y menempati alokasi
memori yang sama dengan x, akibatnya data yang tersimpan di dalamnyapun akan
sama. Jika ada instruksi yang menginisialisasi x, otomatis juga
akan menginisialisasi *y.
2. Dialokasikan tersendiri di memori
(Memori dinamis).
Pointer tidak menempati space variabel lain, tetapi
dialokasikan space tersendiri di memori dengan instruksi new.
Syntaxnya:
var_pointer = new
tipe_data-pointernya;
contoh:
Keterangan
:
x dan y mempunyai alokasi memori yang berbeda, sehingga
data yang tersimpan di dalamnyapun akan berbeda pula.
Membebaskan memori dari variabel dinamis
Dengan alokasi memori dinamis ini kita dapat menghemat
alokasi memori dengan cara
membebaskan memori dari variabel dinamis, jika memang variabel tersebut
tidak
digunakan lagi.
Syntaxnya:
delete
var_pointer;
contoh:
Keterangan
:
Setelah
dikenai instruksi delete y; maka nilai yang tersimpan dalam *y akan hilang.
Itulah sebabnya *y dikatakan sebagai variable dinamis, sedangkan x merupakan
variable statis, sehingga tidak bisa dibebaskan dari memori.
Fungsi
dengan parameter pointer
Parameter
keluaran yaitu parameter yang berfungsi untuk menampung nilai yang dihasilkan
dari proses di dalam fungsi. Parameter keluaran ini digunakan dalam fungsi tipe
void (tanpa return value),dengan kata lain parameter tersebut digunakan sebagai
nilai keluaran dari sebuah fungsi. Dengan demikian parameter keluaran ini
harus dilewatkan berdasarkar alamat atau
referensinya, yaitu menggunakan pointer atau reference.
Contoh
1 :
Infonya sangat bermanfaat bagi ane
BalasHapusalat pemisah lcd