C DERS 15: POİNTERLAR

POİNTER NEDİR?

Kelime karşılığı işaretçi olan pointerlar içerisinde bellek adreslerini barındıran bir veri tipidir.Normalde bir değişken(int,float,double…) tanımladığımız zaman bu bir değer tutar fakat pointerlar ise bu değeri tutan değişkenin adresini içerir.

BURADA DİKKAT EDİLMESİ GEREKEN DEĞİŞKENİN HEM BELLEK ADRESİ OLMASI HEM DE BELLEK ADRESİNDE DEĞERİ OLMASI

int a; 
int *pa;  // POİNTER TANIMLAMA
int main(int argc, char *argv[]) {
pa= &a; // A’NIN BELLEKTEKİ ADRESİNİ pa’ya ATTIK
printf(“a nin bellek adresi: %dn”,pa); //A’NIN BELLEK ADRESİNİ YAZDIK

a=12;
printf(“a=%dn”,a); // A 12 OLDU
printf(“*pa= %dn”,*pa); //A’NIN BELLEK ADRESİNDEKİ DEĞERİ DE 12 OLDU

*pa=4;  //A’NIN BELLEK ADRESİNDEKİ DEĞERİNİ 4 YAPTIK

printf(“a=%dn”,a); // HEM A’NIN DEĞERİ
printf(“*pa= %dn”,*pa); // HEM DE BELLEK ADRESİNDEKİ DEĞERİ 4 OLMUŞ OLDU

printf(“pa=%d”,pa); // A’NIN BELLEK ADRESİ AYNI KALDI

return 0;
}

//BU ÖRNEKTE pa BELLEK ADRESİDİR. BİNLİ ON BİNLİ BÜYÜK DEĞERLER ALIR

// *pa İSE BELLEK ADRESİNDEKİ BİZİM BELİRLEDİĞİMİZ DEĞERİDİR.