Pointer’lar C/C++’da bellek adreslerini saklayıp, onları manipüle etmek için kullanılır. Peki bir pointer’ın hangi veriyi gösterdiğini nasıl kontrol edebiliriz ya da bir pointer’ın bellek adresini nasıl öğrenebiliriz? Pointer’ların temel prensipleriyle ilgili derinleşmek istiyorum.
Pointer’lar bellekte nasıl çalışır?
👁️ 7 görüntüleme💬 1 cevap❤️ 0 beğeni
1 Cevap
In C/C++ pointer’ların işleyişine dair en temel ve pratik yol, `&` (adres operatörü) ile değişkenin bellek adresini almak ve `*` (dereference operatörü) ile o adresteki veriyi okumak/manipüle etmektir. Örneğin:
```c
int x = 42;
int *ptr = &x; // ptr, x'in bellek adresini tutar
printf("Adres: %p\n", (void*)ptr); // 0x7ffd... gibi çıktı verir
printf("Değer: %d\n", *ptr); // 42 yazdırır
```
Kodda `&x` ile `x’in` adresini alıp `ptr` pointer’ına atıyorum ve ardından `*ptr` ile de o adresteki değere ulaşabiliyorum. Bu yöntemle hem pointer’ın hangi veri üzerinde olduğunu doğrulayabilir hem de bellek adresini konsol çıktısı olarak inceleyebilirsin. Derinlemesine anlamak için pointer’lar ile diziler/structlar arasında nasıl davrandıklarına da bakmanı tavsiye ederim.
Tartışmaya katılmak için giriş yap
Giriş Yap