Pemrograman dasar membuat kita fokus pada nilai.
Struktur data membuat kita fokus pada lokasi nilai.
Komputer tidak menyimpan "nama variabel" — yang disimpan adalah:
Setiap variabel menempati slot unik di memori:
Pointer adalah variabel yang menyimpan alamat memori.
int x = 10;
int *p = &x; // p menyimpan alamat x
| Ekspresi | Makna | Contoh |
|---|---|---|
| x | nilai langsung | 10 |
| &x | alamat x | 0x1A04 |
| p | alamat di p | 0x1A04 |
| *p | isi alamat | 10 |
❌ VALUE
void f(int a) { a++; }
✅ ADDRESS
void f(int *a) { (*a)++; }
int arr[3] = {10, 20, 30};
int *p = arr;
Lompatan sesuai ukuran tipe.
p++; // maju ke elemen berikutnya
int x = 10;
int *p = &x;
int **pp = &p;
STACK
Otomatis, statis.
HEAP
Manual (malloc/new), dinamis.
*p mengakses nilai.