& adres operatörü
- C++ kursu
- Başlangıç
- Ders 78/116
- 5 dk
& 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
#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
#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?
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ü
int x = 42;
int* p = ____x;
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ş |