İş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
#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
#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ı
int ____ptr; /* int işaretçi */
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 |