CodeBlanks Logo Icon CodeBlanks

& adres operatörü

& ile değişken adresini almayı öğrenirsin.

& adres operatörü

& adres operatörü, bir değişkenin bellek adresini verir. Yazımı: &x. Bu ifade, x'in bellekte nerede durduğunu söyler. İşaretçiye atama yaparken sıkça kullanılır: int* p = &x;.

Adres, değişkenin türüne bağlı olarak bir sayıdır; ama doğrudan yazdırırsan format sisteme göre değişir. Adresi bir işaretçiye atamak ve *p ile değere erişmek, adresle doğrudan uğraşmaktan daha güvenlidir.

Adres ve değer

Bir değişkenin iki yönü vardır: değeri (içeriği) ve adresi (bellek konumu). x değeri verir; &x adresi verir. Bir int* işaretçisi, bir int'in adresini tutar.

İşaretçi üzerinden değere erişmek için * (dereference) kullanılır: *p, p'nin gösterdiği adresteki değeri verir. Yani int x = 42; int* p = &x; tanımından sonra *p ile x aynı değere işaret eder.

Uygulama Adres al ve değere eriş

int x = 42; tanımla. int* p = &x; ile p'ye x'in adresini ata. *p ile p'nin gösterdiği değeri std::cout ile yazdır.

Başlangıç kodu

main.cpp
#include <iostream>

int main() {
    // x değişkenini tanımla
    // p'ye x'in adresini ata
    // Değeri yazdır
    return 0;
}

Örnek çözüm

main.cpp
#include <iostream>

int main() {
    int x = 42;
    int* p = &x;
    std::cout << *p << "\n";
    return 0;
}

Beklenen çıktı

42

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Bu kodun çıktısı nedir?

main.cpp
int x = 42;
int* p = &x;
std::cout << *p;
  • x'in adresi
  • 0
  • 42 Doğru cevap
  • Hata

Açıklama: *p x'in değerini verir; o da 42'dir.

2 Adres operatörü

Soru
int x = 42;
int* p = ____x;
Cevap
int x = 42;
int* p = &x;

Açıklama: int* p = &x; p'ye x'in adresini atar.

3 İfadeyi anlamına eşle

Kavram Anlamı
int* p = &x Adres atama
& Adres operatörü
p Adresi tutar
*p Değere eriş

Başlangıç bölümündeki tüm dersler