Pointer

Pointer dalam C

Pointer adalah variabel yang menyimpan alamat memori dari variabel lain. Pointer memungkinkan kita untuk mengakses dan memodifikasi data secara langsung melalui alamat memori, yang membuat C sangat fleksibel.

Sintaks

tipe_data *nama_pointer;
  • * (bintang) ➜ Menunjukkan bahwa variabel adalah pointer.

  • nama_pointer ➜ Variabel yang menyimpan alamat memori.

  • tipe_data ➜ Tipe data yang ditunjuk oleh pointer

Contoh Penggunaan

1. Pointer dasar

#include <stdio.h>

int main() {
    int a = 10;
    int *ptr = &a;  // Pointer menyimpan alamat a

    printf("Nilai a: %d\n", a);
    printf("Alamat a: %p\n", &a);
    printf("Nilai pointer ptr: %p\n", ptr);
    printf("Nilai yang ditunjuk pointer: %d\n", *ptr);

    return 0;
}

Hasilnya:

  • ptr = &a; β†’ ptr menyimpan alamat dari a.

  • *ptr β†’ Dereferensi pointer (mengambil nilai di alamat yang ditunjuk).

2. Pointer dan operasi dereferensi

Hasilnya:

  • Pointer bisa digunakan untuk mengubah nilai variabel lain secara langsung.

3. Pointer dan array

Hasilnya:

  • ptr menyimpan alamat arr[0].

  • ptr + 1 menunjuk ke arr[1], ptr + 2 ke arr[2], dst.

  • Pointer bisa digunakan untuk menavigasi array tanpa menggunakan indeks.

4. Pointer ke pointer (double pointer)

Hasilnya:

  • p adalah pointer ke a.

  • pp adalah pointer yang menunjuk ke p (pointer ke pointer).

  • **pp memberikan nilai asli a.

Last updated