Menu
CoddyTech

Operator Dereference (*)

Termasuk bagian Logika dan Alur dalam perjalanan C di Coddy. Pelajaran 4 dari 63.

Sekarang kamu sudah tahu cara menyimpan alamat di pointer, kamu perlu belajar cara mengakses nilai sebenarnya yang tersimpan di alamat memori tersebut. Operator dereferensi (*) memungkinkan kamu "mengikuti" pointer untuk mendapatkan nilai yang ditunjuknya.

Ketika kamu menempatkan operator * di depan variabel pointer, operator ini mengakses nilai yang tersimpan di alamat memori yang dipegang pointer tersebut. Anggap saja seperti mengatakan "berikan kepadaku apa yang ada di dalam ruangan pada alamat ini."

int age = 25;
int *ptr = &age;
printf("%d", *ptr);    // Mencetak 25, nilai dari age

Penting untuk memahami bahwa tanda bintang (*) memiliki dua arti berbeda dalam C. Saat mendeklarasikan pointer seperti int *ptr;, tanda bintang menunjukkan bahwa ptr adalah pointer. Saat digunakan dengan pointer yang sudah ada seperti *ptr, tanda bintang melakukan dereferensi pada pointer untuk mengakses nilai yang ditunjuknya.

Operator dereferensi penting karena melengkapi siklus pointer: kamu dapat menyimpan alamat dalam pointer dengan &, lalu mengambil nilai di alamat tersebut dengan *. Dengan begitu, kamu dapat mengakses dan mengubah variabel secara tidak langsung melalui alamat memorinya.

challenge icon

Tantangan

Mudah

Tulis program C yang menunjukkan alur kerja pointer secara lengkap: deklarasi, penetapan alamat, dan dereferensi. Programmu harus:

  1. Mendeklarasikan variabel integer bernama value dan menginisialisasinya dengan nilai 75
  2. Mendeklarasikan variabel float bernama price dan menginisialisasinya dengan nilai 19.99
  3. Mendeklarasikan pointer ke integer bernama value_ptr
  4. Mendeklarasikan pointer ke float bernama price_ptr
  5. Menggunakan operator address-of untuk menetapkan alamat value ke value_ptr
  6. Menggunakan operator address-of untuk menetapkan alamat price ke price_ptr
  7. Menggunakan operator dereference untuk mencetak nilai value melalui value_ptr
  8. Menggunakan operator dereference untuk mencetak nilai price melalui price_ptr dengan tepat 2 angka di belakang koma

Output-mu harus menampilkan nilai yang didereferensikan dalam format berikut:

Value through pointer: 75
Price through pointer: 19.99

Tantangan ini menguji pemahamanmu tentang cara operator dereference mengambil nilai variabel asli dengan mengikuti alamat yang disimpan oleh pointer.

Coba sendiri

#include <stdio.h>

int main() {
    // TODO: Tulis kodemu di sini
    // 1. Deklarasikan dan inisialisasi variabelmu
    // 2. Deklarasikan pointer
    // 3. Tetapkan alamat ke pointer
    // 4. Tampilkan nilai yang diakses melalui pointer
    
    return 0;
}
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler C online