CodeBlanks Logo Icon CodeBlanks

İşaretçi nedir?

İşaretçinin bir bellek adresi tuttuğunu ve * ile erişildiğini öğrenirsin.

İşaretçi nedir?

Bir işaretçi (pointer), bellekte bir adresi tutan değişkendir. Bir int'in kendisini değil, onun bellek adresini saklar. Yazımı: int* p;. Burada * p'nin bir int işaretçisi olduğunu belirtir.

Bir işaretçi, hangi değişkene işaret ettiğini gösterir; böylece o değişkene dolaylı olarak erişebilirsin. İşaretçiler C++'ın güçlü ama dikkat isteyen bir aracıdır; belleği doğrudan yönetmene izin verir ama hatalar tanımsız davranışa yol açabilir. Referanslardan farklı olarak boş olabilir ve yeniden bağlanabilir.

İşaretçi ve referans farkı

İşaretçi ve referans benzer ama farklıdır. Referans bir kere bağlanır ve boş olamaz; işaretçi ise yeniden bağlanabilir ve nullptr olabilir. İşaretçinin sözdizimi de farklıdır: *p ile değere erişirsin.

İşaretçi, dinamik bellek ayırma, dizi gezmek ve 'belki boş' durumlarını ifade etmek için kullanılır. Referans ise 'kesinlikle var olan bir değişkene diğer ad' gerektiğinde tercih edilir. İkisi de kendi alanında yararlıdır; hangisini seçeceğin probleme bağlıdır.

Uygulama İşaretçi ile değere eriş

int x = 42; tanımla. int* p = &x; ile p'yi x'in adresine bağla. *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 işaretçisini x'e bağla
    // 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 İşaretçi nedir?

  • Bir dizi türü
  • Bir bellek adresi tutan değişken Doğru cevap
  • Bir bellek bloğu
  • Bir referans türü

Açıklama: İşaretçi, bir bellek adresini tutan değişkendir.

2 İşaretçi tanımı

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

Açıklama: int* p = &x; p'yi x'i işaret eden bir işaretçi yapar.

3 İfadeyi anlamına eşle

Kavram Anlamı
int* p İşaretçi tanımı
&x Adres al
*p Değere eriş
42 Değer

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