1.20 Pointers

C++'da işaretçiler, bellekteki bir değişkenin adresini tutan değişkenlerdir. İşaretçiler, bellek yönetimini optimize etmek, fonksiyonlara parametre olarak adres göndererek değişkenleri değiştirmek ve dinamik bellek tahsisi gibi işlemler için kullanılır.

İşaretçi Oluşturma

Bir işaretçi oluşturmak için, değişkenin tipinin ardından * işaretini kullanarak işaretçiyi tanımlarsınız.

Örnek: İşaretçi Oluşturma

#include <iostream>
using namespace std;

int main() {
    int value = 42;           // Değişken tanımı
    int *ptr = &value;       // İşaretçi oluşturma ve adresi alma

    cout << "Değişkenin Değeri: " << value << endl; // 42
    cout << "Değişkenin Bellek Adresi: " << &value << endl; // Bellek adresi
    cout << "İşaretçinin Göstermiş Olduğu Değer: " << *ptr << endl; // 42

    return 0;
}

Dereference (Dereferencing)

Dereference, bir işaretçinin gösterdiği adresin içeriğini almak anlamına gelir. Bunun için * operatörü kullanılır.

Örnek: Dereferencing

#include <iostream>
using namespace std;

int main() {
    int number = 100;          // Değişken tanımı
    int *ptr = &number;       // İşaretçi oluşturma

    cout << "İşaretçinin Göstermiş Olduğu Değer: " << *ptr << endl; // 100

    // Dereferencing ile değeri değiştirme
    *ptr = 200;

    cout << "Yeni Değer: " << number << endl; // 200

    return 0;
}

Yukarıdaki örnekte, işaretçi üzerinden dereferencing ile number değişkeninin değeri değiştirilmiştir.

İşaretçileri Değiştirme

İşaretçilerin kendisi de başka bir adresi gösterecek şekilde değiştirilebilir.

Örnek: İşaretçiyi Değiştirme

#include <iostream>
using namespace std;

int main() {
    int num1 = 10;
    int num2 = 20;
    int *ptr = &num1;  // ptr num1'in adresini tutuyor

    cout << "ptr'nin Göstermiş Olduğu Değer: " << *ptr << endl; // 10

    ptr = &num2;       // ptr'yi num2'nin adresine yönlendirme

    cout << "ptr'nin Göstermiş Olduğu Yeni Değer: " << *ptr << endl; // 20

    return 0;
}

Last updated