24.03.2015 Views

c_ders_notlari

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Pointerlar (İşaretçiler) ve Referans (Adres) operatörleri<br />

24.02.2015 Salı<br />

Bilgisayar hafızasında bir bölgeyi isimlendirip orada belirli<br />

tipte bilgi depolanmasını sağlayan değişkenler vardır.<br />

Her c++ değişkeni bilgisayarın<br />

hafızasındaki bir yere kaydedilmektedir.<br />

Değişkenin adresi, aynı evinizin adresi gibi tekdir.<br />

Bir değişkenin içeriği ya klavyeden girilir ya da<br />

girilen diğer değerlerin kullanımıyla hesaplanır.<br />

C++ da başka türde bir değişken daha vardır.<br />

Programın gücünü ve esnekliğini arttıran bu<br />

değişken tipine pointer (işaretçi)denir.<br />

Pointer belirli tipteki başka bir değişkenin<br />

adresini depolayan int tipinde bir değişkendir.<br />

Pointerları önüne yıldız işareti koyarak tanımlanır.<br />

Örneğin tipi int olan bir p sayısı için pointer tanımlaması şu şekildedir:<br />

int* p; // * işareti değişken tipine de yakın olabilir.<br />

Ya da<br />

int *p; // * işareti değişkene yakında olabilir.<br />

Bir pointerın kendisine bir değer atanamaz,<br />

fakat pointerın gösterdiği bellek adresine bir değer atanabilir.<br />

int* i;<br />

i = 3; // yanlış<br />

int* i;<br />

*i = 3; // doğru<br />

NEDEN POİNTER KULLANIRIZ?<br />

Öncelikle değişkenin adresini alıp bunu bir pointera atarız.<br />

Bir diziye aktarılan değerler üzerinde işlem yaparken pointer<br />

kullanımı işlemin hızını arttırır.<br />

Ayrıca,program çalışırken değişkenlere dinamik olarak yer tahsis eder.<br />

Bu özellik sayesinde program,girdilerine<br />

bağlı hafızasının kullanımını ayarlar.<br />

Çünkü önceden kaç değişken kullanacağınızı bilemezsiniz.<br />

Referanslar yani adres operatörleri<br />

değişkenin değeri ile birlikte<br />

adresinide tutarlar.<br />

Değişkenlerin bellekteki adreslerini bulmak<br />

için adres(referans) operatörü yani & kullanılır.<br />

6

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!