Pointer Dasar di C
Penjelasan
Pointer adalah variabel yang menyimpan ALAMAT MEMORI dari variabel lain, bukan nilainya secara langsung — ini fitur paling khas dan sering ditakuti pemula di C. Operator & (address-of) dipakai untuk mengambil alamat sebuah variabel, dan operator * (dereference) dipakai untuk mengakses nilai yang disimpan di alamat yang ditunjuk pointer.
Contoh Konsep
#include <stdio.h>
int main() {
int umur = 20;
int *ptrUmur = &umur; // ptrUmur menyimpan ALAMAT umur
printf("%d\n", umur); // 20, nilai umur
printf("%p\n", (void*) &umur); // alamat memori umur
printf("%d\n", *ptrUmur); // 20, dereference: ambil nilai lewat pointer
*ptrUmur = 21; // ubah nilai umur LEWAT pointer-nya
printf("%d\n", umur); // 21, ikut berubah!
return 0;
}
Praktikum
Buat variabel int saldo = 50000. Buat pointer int *ptrSaldo yang menunjuk ke saldo. Lewat pointer itu (bukan lewat nama variabel saldo langsung), ubah nilainya jadi 75000, lalu tampilkan nilai saldo yang sudah berubah.
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Selalu inisialisasi pointer saat dideklarasikan (minimal dengan NULL kalau belum ada alamat yang jelas) — pointer yang tidak diinisialisasi ("wild pointer") menunjuk ke alamat memori acak dan bisa membuat program crash tak terduga kalau di-dereference.