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ı.