0Pricing
C++ Academy · Ders

İşaretçi Gösterme ve İşaretçi Aritmetiği

İşaretçiler aracılığıyla belleği okuyun ve işaretçi aritmetiğiyle diziler üzerinde ilerleyin

İşaretçi Gösterme ve İşaretçi Aritmetiği, CoddyKit'te ücretsiz bir C++ Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, C++ Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. C++ Academy kursu toplamda 4 dersten oluşur.

İşaretçi Üzerinden Okuma

Tekli * operatörü, işaretçinin gösterdiği değeri okur.

int x = 42;
int* p = &x;
std::cout << *p;   // 42

İşaretçi Üzerinden Yazma

Hedefe yazmak için atamanın sol tarafında *p ifadesini de kullanabilirsiniz.

*p = 100;
std::cout << x;   // 100

Ok Operatörü

Yapılara veya sınıflara işaretçiler için p->member, (*p).member ifadesinin kısa yazımıdır. Ok operatörünü kullanın — kural budur.

struct Point { int x, y; };
Point pt{3, 4};
Point* p = &pt;
std::cout << p->x;   // 3

İşaretçi Aritmetiğinin Temelleri

İşaretçilere tam sayılar ekleyebilir veya onlardan tam sayılar çıkarabilirsiniz. Sonuç, baytlarla değil öğe boyutunda adımlarla ilerler.

int a[5] = {10, 20, 30, 40, 50};
int* p = a;        // points to a[0]
p = p + 2;         // now points to a[2]
std::cout << *p;   // 30

Dizi Üzerinde İlerleme

İşaretçi aritmetiği, dizinlemeyi taklit eder. a[i] ve *(a + i) aynıdır — ayrıca p[i] her işaretçi üzerinde çalışır.

int a[] = {1, 2, 3, 4};
int* p = a;
for (int i = 0; i < 4; ++i) {
    std::cout << *(p + i) << " ";
}

İki İşaretçinin Farkı

Aynı dizi içindeki iki işaretçinin çıkarılması, öğeler arasındaki uzaklığı verir — türü std::ptrdiff_t olur.

int a[5];
int* first = a;
int* last  = a + 5;
std::ptrdiff_t len = last - first;  // 5

İşaretçileri Karşılaştırma

İşaretçileri == ve != ile eşitlik açısından, yalnızca aynı dizi içindeki öğeleri gösterdiklerinde ise < ile sıralama açısından karşılaştırabilirsiniz.

İşaretçilerle Yineleme

Kurallara uygun C tarzı yineleme, iki işaretçi kullanır — başlangıç ve bitiş.

int a[] = {1, 2, 3, 4, 5};
for (int* p = a; p != a + 5; ++p) {
    std::cout << *p << " ";
}

Sonun Ötesine İzin Verilir

Son öğenin bir sonrasını gösteren bir işaretçi hesaplayabilirsiniz ("bitiş" işaretçisi) — ancak bu işaretçinin gösterdiği değere erişmek tanımsızdır.

İşaretçi Aritmetiğinin Tuzakları

Sık yapılan hatalar:

  • Dizi sınırlarının ötesine geçmek
  • İşaretçi türlerini karıştırmak (int* + char*)
  • Aritmetiğin baytlarla değil, öğe birimleriyle yapıldığını unutmak

Yineleyicileri veya Aralıkları Tercih Edin

Modern C++, ham işaretçi aritmetiği yerine yineleyicileri ve aralıklar kitaplığını tercih eder. İşaretçiler, C arayüzleri ve çok düşük düzeyli kodlar için hâlâ önemlidir.

Hızlı Kontrol

p, 4 baytlık bir int'in başlangıcını gösteren bir int* ise p + 1 neyi gösterir?

Özet

*p hedefi okur veya hedefe yazar. p->member bir yapı üyesine erişir. İşaretçi aritmetiği, öğe boyutunda adımlarla ilerler. Dikkatli kullanın — modern kodda yineleyiciler ve aralıklar genellikle daha güvenli bir seçimdir.

Sıkça Sorulan Sorular

“İşaretçi Gösterme ve İşaretçi Aritmetiği” dersi ücretsiz mi?

Evet — “İşaretçi Gösterme ve İşaretçi Aritmetiği” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve C++ Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. C++ Academy kursu toplamda 4 dersten oluşur.

“İşaretçi Gösterme ve İşaretçi Aritmetiği” dersinde ne öğreneceğim?

İşaretçiler aracılığıyla belleği okuyun ve işaretçi aritmetiğiyle diziler üzerinde ilerleyin C++ Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

C++ Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te C++ Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.

“İşaretçi Gösterme ve İşaretçi Aritmetiği” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu C++ Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her C++ Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Ham İşaretçiler ve Adres Operatörü
  2. İşaretçi Gösterme ve İşaretçi Aritmetiği
  3. nullptr ve Boş İşaretçi Güvenliği
  4. İşaretçiler Ne Zaman, Referanslar Ne Zaman Kullanılmalı
← C++ Academy Sayfasına Dön