Pointer & Array di C
Penjelasan
Di C, nama array sebenarnya berperilaku seperti pointer ke elemen pertamanya — inilah kenapa array selalu "dilewatkan by reference" ke fungsi (bukan disalin). Pointer arithmetic memungkinkan kita menggeser posisi pointer dengan operasi + / - untuk berpindah antar elemen array, alih-alih memakai notasi index [].
Contoh Konsep
#include <stdio.h>
int main() {
int angka[] = {10, 20, 30};
int *ptr = angka; // sama dengan &angka[0]
printf("%d\n", *ptr); // 10, elemen pertama
printf("%d\n", *(ptr + 1)); // 20, geser 1 posisi -> elemen kedua
printf("%d\n", angka[2]); // 30, notasi index (setara *(angka + 2))
return 0;
}
Praktikum
Buat array int angka[] = {5, 10, 15, 20}. Pakai pointer dan pointer arithmetic (bukan notasi index []) untuk menampilkan setiap elemennya lewat perulangan for.
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Meski nama array berperilaku seperti pointer, keduanya TIDAK identik — array tidak bisa di-reassign untuk menunjuk ke alamat lain (angka = ptrLain; itu error), sedangkan pointer biasa bisa.