Menu
Coddy logo textTech

Dereference Operatörü

Coddy'nin C++ Journey'sinin Mantık & Akış bölümünün bir parçası — ders 3 / 56.

Artık bir variable için pointer alabildiğinize göre, bu bellek adresindeki değeri nasıl okuyacağınızı ve değiştireceğinizi öğrenmeniz gerekir. İşte burada dereference operatörü (*) essential hale gelir.* `dereference` operatörü, bir `pointer` 'ın gösterdiği bellek adresinde saklanan değere erişmek için kullanılır. Bir `pointer` değişkeninin önüne * koyduğunuzda, adresi "takip eder" ve orada saklanan gerçek değeri size verir.& (address-of) operatörünün bir değişkenin bellek adresini almak için kullanıldığını, * (dereference) operatörünün ise bu adresteki değere erişmek için kullanıldığını unutmayın.
int number = 42;
int* ptr = &number;  // ptr, number'ın adresini saklar
int value = *ptr;    // value artık 42 içeriyor
İşaretçi (pointer) aracılığıyla orijinal değişkeni değiştirmek için dereference operatörünü de kullanabilirsiniz. *ptr ifadesine yeni bir değer atadığınızda, aslında o bellek konumunda saklanan değeri değiştirmiş olursunuz:
*ptr = 100;  // number'ı 100'e değiştirir
// number artık 100, onu ptr aracılığıyla değiştirmiş olmamıza rağmen
Bu dolaylı erişim, işaretçileri (pointers) bu kadar güçlü kılan şeydir; bunlara işaret eden bir `pointer` olduğu sürece programınızın her yerinden değişkenleri okuyabilir ve değiştirebilirsiniz.
challenge icon

Görev

Kolay

Bir pointer aracılığıyla bir değişkenin değerini değiştirerek dereference operatörünü gösteren bir program oluşturun.

Aşağıdaki input sağlanacaktır:

  • Bir variable için ilk değeri temsil eden bir tamsayı
  • pointer aracılığıyla atanacak yeni değeri temsil eden bir tamsayı

Programınız şunları yapmalıdır:

  1. temperature adında bir tamsayı variable tanımlayın ve bunu ilk input değeriyle initialize edin
  2. temperature değişkenini gösteren (pointing) tempPtr adında bir pointer oluşturun (Create)
  3. pointerdereference ederek Original değeri yazdırın (Print)
  4. temperature değerini, pointer üzerinden ikinci input değerine değiştirmek (Change) için dereference operatörünü kullanın
  5. pointer'ı tekrar dereference ederek yeni değeri yazdırın (Print)

Aşağıdaki tam çıktı biçimini kullanın:

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

Kendin dene

#include <iostream>
using namespace std;

int main() {
    // Girdi değerlerini oku
    int initialValue, newValue;
    cin >> initialValue;
    cin >> newValue;
    
    // TODO: Kodunuzu aşağıya yazın
    // 1. temperature değişkenini bildir ve initialValue ile başlat
    // 2. temperature'a işaret eden tempPtr işaretçisini oluştur
    // 3. Print original value using pointer dereference
    // 4. newValue kullanarak işaretçi aracılığıyla temperature değerini değiştir
    // 5. İşaretçi dereferansı kullanarak yeni değeri yazdır
    
    return 0;
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Mantık & Akış bölümündeki tüm dersler