Bu dersimizde sizlerle Pointer(işaretleyici) konusunu işleyeceğiz.
Pointer bellek alanındaki bir gözün adresinin saklandığı değişkendir. Herhangi bir değişken kullanılabilir ancak önüne ” * “ konulmalıdır yada pointer için ” %p “ kullanabiliriz. Değişkenlerin tanımlı olduğu adres ise ” & ” ile tanımlanır.
Program Kodu:
Şimdi bir örnek ile ” * “ ve ” & ” işaretlerini kullanarak konumu öğrenelim.
#include <stdio.h> // Standart giriş/çıkış kütüphanesi dahil edilmeli
int main()
{
int sayi, *ptr; // *ptr bir pointer
sayi = 33;
ptr = &sayi; // ptr değişkenine sayi'nın adresini ata
printf("Sayinin degeri (pointer'dan) = %d\n", *ptr); // Pointer kullanarak sayi'nın değeri
printf("Sayinin adresi = %p\n", (void *)ptr); // Pointer'ın adres değeri (adres hexadecimal formatta)
printf("Sayinin degeri = %d\n", sayi); // Sayi'nın direkt değeri
printf("Sayinin adresi = %p\n", (void *)&sayi); // Sayi'nın adresi
getchar(); // Konsolu açık tutmak için
return 0;
}
Ekran Çıktısı:
C
Sayinin degeri (pointer'dan) = 33
Sayinin adresi = 0x7ffee4d34a2c
Sayinin degeri = 33
Sayinin adresi = 0x7ffee4d34a2c
Program Kodu:
Şimdi de ” %p “ komutuyla konumu öğrenelim.
#include <stdio.h>
int main()
{
int tam = 33;
printf("icerik: %d\n", tam); // Değerini yazdır
printf("adres: %p\n", (void *)&tam); // Adresini yazdır
return 0;
}
Ekran Çıktısı:
C
icerik: 33 //değişkenin değeri
adres: 0x7ffee4d34a2c //değişkeninin bellekte bulunduğu adres