Pointer dalam bahasa C itu seperti alamat rumah. Misalkan kamu punya variabel yang menyimpan sebuah nilai, pointer itu seperti alamat rumah dari variabel tersebut. Jadi, bukannya menyimpan nilainya langsung, dia menyimpan di mana nilai itu berada di memori.
Bayangkan ini seperti ini:
a yang berisi angka 10.a, katakanlah alamatnya adalah 0x1000.Jadi, pointer adalah kotak yang berisi alamat dari kotak lain.
Contoh kode sederhananya:
int a = 10; // Ini kotak 'a' yang berisi angka 10
int *p = &a; // Ini kotak 'p' yang berisi alamat dari kotak 'a'
int *p mendeklarasikan pointer p yang bisa menyimpan alamat variabel tipe int.&a adalah operator yang mengembalikan alamat memori dari variabel a.Jika kamu ingin mengakses nilai dari a menggunakan pointer, kamu bisa menggunakan operator * seperti ini:
printf("%d", *p); // Ini akan mencetak nilai 10, karena 'p' menunjuk ke 'a'
Jadi intinya, pointer itu adalah variabel yang menyimpan alamat dari variabel lain. Pointers sangat berguna untuk banyak hal, seperti mengelola memori, membuat array dinamis, dan lain-lain.
Video yang mungkin berguna