Pointer
Pengertian Pointer
Suatu variabel yang berisi alamat memori sebagai nilainya.
Merupakan variabel level rendah yang dapat digunakan untuk menunjuk nilai integer, character, float, double, atau single dan tipe-tipe data lain yang didukung oleh bahasa pemrograman.
Bersifat dinamis dan lebih fleksibel.
Variabel pointer yang tidak menunjuk pada nilai apapun berarti memiliki nilai NULL, disebut sebagai dangling pointer karena nilainya tidak diinisialisasi dan tidak dapat diprediksi.
Variabel pointer berisi alamat dari suatu obyek lain.
Sebagai contoh, px adalah variabel pointer dan x adalah variabel yang ditunjuk oleh px. Kalau x berada pada alamat memori (alamat awal) 100, maka px akan berisi 100.
Misalnya:
Apabila kita membuat program yang akan menampilkan suatu nilai di dalam suatu variabel tertentu dan menampilkan juga alamat suatu pointer yang isinya sama dengan yang ditunjuk oleh variabel tadi.
Maka dalam program kita tuliskan (C++):
#include <iostream.h>
#include <conio.h>
void main ()
{
int v = 7, *ptr;
ptr = &v;
cout << "Nilai v = " << v << " dan ptr = "<< *ptr << " \n alamatnya = "<< ptr ;
getch();
}
Fungsi Pointer
Meningkatkan kinerja untuk operasi yang dilakukan secara berulang, karena variabel pointer bersifat dinamis (dapat diubah-ubah lokasi penyimpannya dalam memory).
Pada variabel biasa kita tidak perlu tahu alamat memory dari variabel tersebut. Untuk mengakses hanya perlu nama variabel tersebut. Tapi untuk struktur data dinamis (linked list, tree dsb) hal tersebut tidak bisa.
Penggunaan pointer yang tepat dapat mempercepat sebuah proses secara signifikan.
Pemindahan data yang besar dari sebuah variabel.
Operator Alamat
Setiap variabel yang dideklarasikan, disimpan dalam sebuah lokasi memori dan pengguna biasanya tidak mengetahui di alamat mana data tersebut disimpan.
Dilambangkan dengan simbol “&”.
Operator Reference
Penggunaan operator ini, berarti mengakses nilai sebuah alamat yang ditunjuk oleh variabel pointer
Pointer dan String
Pointer juga dapat digunakan untuk mendeklarasikan variabel string.
Contoh:
char *pkota = “SEMARANG”;
Hampir sama dengan:
char kota[] = “SEMARANG”;
Tetapi sebenarnya tidak tepat sama.
pkota adalah pointer (menyatakan alamat) yang menunjuk
ke string “SEMARANG”, kota adalah array (array
menyatakan alamat yang konstan, tak dapat diubah).
Komentar
Posting Komentar