CodeBlanks Logo Icon CodeBlanks

İşaretçi nedir?

  • C kursu
  • Başlangıç
  • Ders 71/116
  • 5 dk

İşaretçinin bir bellek adresi tuttuğunu ve * ile erişildiğini öğrenirsin.

İşaretçi nedir?

İşaretçi (pointer), bellekte bir adresi tutan değişkendir. int *ptr tanımı, ptr'nin bir int'in adresini tutacağını bildirir.

int x = 42;
int *ptr = &x;  /* & adresi alır */
printf("%d\n", *ptr);  /* * ile değere erişiriz, 42 yazar */

İşaretçi, değişkenin kendisini değil, onun bellek adresini saklar. & ve * operatörlerini sonraki derslerde ayrıntılı göreceğiz.

İşaretçi tanımı sözdizimi

İşaretçi tanımında tür, yıldız ve ad birlikte yazılır. Yıldız, değişkenin işaretçi olduğunu belirtir.

int *ip;     /* int işaretçi */
double *dp;  /* double işaretçi */
char *cp;    /* char işaretçi */

İşaretçi türü, işaret ettiği değişkenin türüne bağlıdır. int * ve char * farklı türlerdir; birbirlerine doğrudan atanamazlar.

Uygulama İşaretçi ile değere eriş

int x = 42; tanımla. int *ptr = &x; ile ptr'yi x'e bağla. printf("%d\n", *ptr); ile ptr'nin işaret ettiği değeri yazdır. Çıktı 42 olmalı.

Başlangıç kodu

main.c
#include <stdio.h>

int main(void) {
    int x = 42;
    /* ptr'yi x'e bağla */
    /* printf %d ile *ptr yazdır */
    return 0;
}

Örnek çözüm

main.c
#include <stdio.h>

int main(void) {
    int x = 42;
    int *ptr = &x;
    printf("%d\n", *ptr);
    return 0;
}

Beklenen çıktı

42

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 int *ptr tanımı ne bildirir?

  • ptr bir int değerdir
  • ptr bir sabittir
  • ptr bir char'dır
  • ptr bir int'in adresini tutar Doğru cevap

Açıklama: int *ptr, ptr'nin bir int'in adresini tuttuğunu bildirir.

2 int işaretçi tanımı

Soru
int ____ptr;  /* int işaretçi */
Cevap
int *ptr;  /* int işaretçi */

Açıklama: Yıldız işareti işaretçi belirtir.

3 İşaretçi türlerini eşleştir

Kavram Anlamı
int * int işaretçi
char * char işaretçi
double * double işaretçi
void * genel işaretçi

Başlangıç bölümündeki tüm dersler