C – Pointer(İşaretçiler)


Pointer, bir bellek adresini gösteren bir değişkendir. C dilinde, bir değişkenin bellek adresi, “&” işareti ile alınabilir. Pointer değişkenleri, “*” işareti ile tanımlanır ve bir değişkenin bellek adresini tutarlar. Pointerlar, dinamik bellek yönetimi, fonksiyon parametreleri, veri yapıları ve dosya işlemleri gibi birçok alanda kullanılır.

İşte C dilinde pointerların okunup yazılması örneği:

#include <stdio.h>

int main() {
    int sayi = 5; // int veri tipinde bir değişken oluşturuyoruz
    int *ptr; // int veri tipinde bir pointer değişkeni oluşturuyoruz

    ptr = &sayi; // sayi değişkeninin bellek adresini pointer değişkenimize atıyoruz

    printf("sayi degeri: %d\n", sayi); // sayi değişkeninin değerini yazdırıyoruz
    printf("sayi bellek adresi: %p\n", &sayi); // sayi değişkeninin bellek adresini yazdırıyoruz
    printf("pointer degeri: %p\n", ptr); // pointer değişkeninin değerini yazdırıyoruz
    printf("pointerin gosterdigi deger: %d\n", *ptr); // pointer değişkeninin gösterdiği bellek adresindeki değeri yazdırıyoruz

    *ptr = 10; // pointer değişkeninin gösterdiği bellek adresindeki değeri 10 olarak değiştiriyoruz

    printf("sayi degeri: %d\n", sayi); // sayi değişkeninin değerini yazdırıyoruz (10 olmalı)

    return 0;
}

Bu örnekte, “sayi” adında bir “int” değişken oluşturduk ve ona 5 değerini atadık. Daha sonra, “ptr” adında bir “int” pointer değişkeni oluşturduk ve “sayi” değişkeninin bellek adresini pointer değişkenimize atadık.

“printf” fonksiyonu ile “sayi” değişkeninin değerini, bellek adresini, pointer değişkeninin değerini ve pointer değişkeninin gösterdiği bellek adresindeki değeri yazdırdık.

Daha sonra, pointer değişkeninin gösterdiği bellek adresindeki değeri 10 olarak değiştirdik ve “sayi” değişkeninin değerini tekrar yazdırdık (10 olmalı).

Bu örnekte, pointer değişkeni ile bellekteki bir değişkenin değerine erişmek ve değiştirmek için “*ptr” ifadesi kullanıldı. Pointer değişkeninin bellek adresine erişmek için “ptr” kullanıldı ve bellek adresini almak için “&sayi” kullanıldı.

C – Pointer(İşaretçiler)

Bir yorum yazın

Yorumlar