Pointer adalah variabel khusus yang menyimpan alamat memori dari variabel lain. Pointer dideklarasikan dengan menggunakan tipe data diikuti tanda bintang. Pointer harus diinisialisasi dengan menggunakan operator alamat untuk menyimpan alamat variabel, array, atau string ke dalamnya. Pointer digunakan untuk mengakses dan mengubah nilai variabel yang dialamatinya.
2. Pointer
• Saat komputer melakukan suatu perhitungan atau operasi, data
akan disimpan di suatu tempat pada memory
• Address: informasi yang menunjukkan dimana data itu berada
dalam memory
• Pointer: variabel khusus untuk menyimpan address
3. Deklarasi Pointer
• Deklarasi pointer : tipe_data *nama_pointer;
Contoh:
int *ptr;
char *ptr;
• Cara penulisan berikut diperbolehkan:
int *ptr;
int * ptr;
int* ptr;
4. Inisialisasi Pointer
• Pointer bertugas menyimpan address, yang harus diset oleh
programmer
• Cara inisialisasi
1. Substitusikan address sebuah variabel ke pointer dengan memakai
address operator (&)
int x;
int *ptr;
ptr = &x;
2. Mensubstitusikan address awal sebuah array ke pointer
char t[5];
char *ptr;
ptr = t;
5. Inisialisasi Pointer
3. Mensubstitusikan address salah satu elemen array dengan address
operator
char t[5];
char *ptr;
ptr = &t[3];
4. Mensubstitusikan address awal character string ke pointer
char *ptr;
ptr = ”jakarta”
5. Mensubstitusikan NULL pada pointer. NULL adalah pointer kosong,
menunjukkan suatu status dimana pointer itu belum diinisialisasikan
dengan sebuah address tertentu.
6. Memakai fungsi MALLOC
6. Latihan 1
#include <iostream>
using namespace std;
int main()
{
int x;
int *y;
cout <<"Masukkan nilai untuk x = "; cin >> x;
cout << "Address x : "<< &x << endl;
y=&x; // Address x disimpan ke y
cout << "y berisi address = " << y << endl;
cout << "Isi y = " << *y <<endl;
}
7. Latihan 2
#include <iostream>
using namespace std;
int main()
{
int a,b;
int *pt;
a = 123;
pt = &a;
b = *pt;
cout << "Address a = " << &a << " Isi a = " << a ;
cout << " *pt = " << *pt << " b = " << b << endl;
cout << "Address b = "<<&b<<endl;
pt = &b;
*pt = 999;
cout << "a = " << a << " *pt = " << *pt << " b = " << b << endl;
}