Merhabalar, reel hayatımın yoğunluğu sebebiyle bir süre aranızda bulunamadım. Şimdiki yazımda ise c++ da pointerlardan bahsedeceğim.
Öncelikle belirtelim ki, bilgisayarımızda çalışan her işlev bellekte bir yer tutar. Bu yerin işaretçilerine "pointer" denir ve genellikle yıldız (*) işaretiyle gösterilir.
0x00
Bu kod parçacığı ile bir a sayısı ve bu sayının işaretçisini tanımlamış olduk. Yalnız bunun kullanımında şöyle bir husus var ki
biz eğer *p ifadesini çağırırsak, değerin kendisini verir. "p" ifadesi ise değerin bellekte tuttuğu adresi gösterir. Anlamamış olabilirsiniz, örneklerle daha iyi açıklayabilirim.
Ama açıklamadan önce bilmeniz gereken şey, bu pointeri öncelikle başka bir değişkene atamamız gerektiği. Ve biz pointeri belirtirken değişkenin başına "&" işaretini getiririz.
Kodlarla açıklayacak olursak:
0x01
Biz burada ne yaptık?
-> Bir a işaretçisi belirledik
-> Bir b değişkeni atadık
-> B değişkeninin bellekteki adresini a işaretçisine atadık
-> Kullanıcıdan b değişkenini isteyip a yi ekrana yansıttık
Pekii çıktı nasıl olmalı?
Gördüğümüz gibi, bellekte bu adresi tutuyormuş. Şimdi daha komplike bir programla öğrendiklerimizi pekiştirelim.
Pekii bu bize nasıl bir çıktı verecek:
0x02
Şimdilik bu kadar, görüşürüz. Sağlıcakla kalın
Öncelikle belirtelim ki, bilgisayarımızda çalışan her işlev bellekte bir yer tutar. Bu yerin işaretçilerine "pointer" denir ve genellikle yıldız (*) işaretiyle gösterilir.
Kod:
int *a;
Bu kod parçacığı ile bir a sayısı ve bu sayının işaretçisini tanımlamış olduk. Yalnız bunun kullanımında şöyle bir husus var ki
biz eğer *p ifadesini çağırırsak, değerin kendisini verir. "p" ifadesi ise değerin bellekte tuttuğu adresi gösterir. Anlamamış olabilirsiniz, örneklerle daha iyi açıklayabilirim.
Ama açıklamadan önce bilmeniz gereken şey, bu pointeri öncelikle başka bir değişkene atamamız gerektiği. Ve biz pointeri belirtirken değişkenin başına "&" işaretini getiririz.
Kodlarla açıklayacak olursak:
0x01
Biz burada ne yaptık?
-> Bir a işaretçisi belirledik
-> Bir b değişkeni atadık
-> B değişkeninin bellekteki adresini a işaretçisine atadık
-> Kullanıcıdan b değişkenini isteyip a yi ekrana yansıttık
Pekii çıktı nasıl olmalı?
Kod:
Bir sayi girin: 5
0x23fe44
Pekii bu bize nasıl bir çıktı verecek:
Kod:
Bir sayi girin: 5
Sayiniz: 5
Sayinizin bellekte tuttugu deger: 0x23fe34
Şimdilik bu kadar, görüşürüz. Sağlıcakla kalın



