Menu
CoddyTech

Operator Dereference

Termasuk bagian Logika dan Alur dalam perjalanan C++ di Coddy. Pelajaran 3 dari 56.

Sekarang setelah kamu bisa mendapatkan pointer ke sebuah variabel, kamu perlu belajar cara mengakses dan mengubah nilai pada alamat memori tersebut. Di sinilah operator dereferensi (*) menjadi sangat penting.Operator dereferensi * digunakan untuk mengakses nilai yang tersimpan di alamat memori yang ditunjuk oleh pointer. Saat kamu menempatkan * sebelum variabel pointer, operator ini “mengikuti” alamat tersebut dan memberikan nilai sebenarnya yang tersimpan di sana.Ingat bahwa operator address-of (&) digunakan untuk mendapatkan alamat memori sebuah variabel, sedangkan operator dereference (*) digunakan untuk mengakses nilai pada alamat tersebut.
int number = 42;
int* ptr = &number;  // ptr menyimpan alamat number
int value = *ptr;    // value sekarang berisi 42
Kamu juga dapat menggunakan operator dereferensi untuk mengubah variabel asli melalui pointer. Saat kamu menetapkan nilai baru ke *ptr, sebenarnya kamu mengubah nilai yang tersimpan di lokasi memori tersebut:
*ptr = 100;  // Mengubah number menjadi 100
// number sekarang bernilai 100, meskipun kita mengubahnya melalui ptr
Akses tidak langsung inilah yang membuat pointer sangat berguna, kamu dapat membaca dan mengubah variabel dari mana saja dalam programmu selama kamu memiliki pointer ke variabel tersebut.
challenge icon

Tantangan

Mudah

Buat program yang menunjukkan operator dereference dengan mengubah nilai variabel melalui pointer.

Input berikut akan diberikan:

  • Bilangan bulat yang mewakili nilai awal sebuah variabel
  • Bilangan bulat yang mewakili nilai baru untuk ditetapkan melalui pointer

Programmu harus:

  1. Mendeklarasikan variabel bilangan bulat bernama temperature dan menginisialisasinya dengan nilai input pertama
  2. Membuat pointer bernama tempPtr yang menunjuk ke variabel temperature
  3. Mencetak nilai awal dengan melakukan dereference pada pointer
  4. Menggunakan operator dereference untuk mengubah nilai temperature menjadi nilai input kedua melalui pointer
  5. Mencetak nilai baru dengan melakukan dereference pada pointer sekali lagi

Gunakan format output persis berikut:

Original value: [original value]
New value: [new value]

Coba sendiri

#include <iostream>
using namespace std;

int main() {
    // Baca nilai input
    int initialValue, newValue;
    cin >> initialValue;
    cin >> newValue;
    
    // TODO: Tulis kodemu di bawah ini
    // 1. Deklarasikan variabel temperature dan inisialisasi dengan initialValue
    // 2. Buat pointer tempPtr yang menunjuk ke temperature
    // 3. Cetak nilai awal dengan melakukan dereferensi pointer
    // 4. Ubah nilai temperature melalui pointer menggunakan newValue
    // 5. Cetak nilai baru dengan melakukan dereferensi 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