31 Aralık 2015 Perşembe

Göstericiler(Pointers)-3

Göstericiler(Pointers)-3

 Gösterici tanımlama tekrar.
 Göstericilerde kullanılan operatörler nelerdir?
 Nesnelerin adresleri nasıl alınır?
 Adres operatörü nasıl kullanılır?
 Adres operatörü nesne mi geri döndürür?
 Adres değerlerinin yazdırılması nasıl yapılır?

 Adres değerinin hexadecimal ekrana yazdırılması.


/*Açıklama: Gösterici tanımlama tekrar.
 * Göstericilerde kullanılan operatörler nelerdir?
 * Nesnelerin adresleri nasıl alınır?
 * Adres operatörü nasıl kullanılır?
 * Adres operatörü nesne mi geri döndürür?
 * Adres değerlerinin yazdırılması nasıl yapılır?
 * Adres değerinin hexadecimal ekrana yazdırılması.
 */
#include <stdio.h>
#include <stdlib.h>
int main(void) {
       //Göstericiler kısaca özet
       {
             //<tür> *<değişken_ismi>;
             int *pb;
             pb = (int *)0x100;
       }
       //Göstericilerde kullanılan işleçler
       /*{
             * : içerik işleci
             & : adres işleci
             [] : köşeli ayraç işleci
             -> : ok işleci
       }*/
       // & : Adres işleci : Nesnelerin bellekteki adreslerini ger döndürür.
       {
             int val = 5; //Bellekteki yerine 0x100
             int *ptr;
             ptr = &val; // (int *) (int *)0xFE
             //&val = (int *)0xFE(bu deger örnek mksatlı yazıldı)
             //&val nesne geri döndürmez.
             char ch = 'A';
             char *pCh; // 64 bit sistemde 8 byte yer kaplar.
             pCh = &ch;
       }
       // Adres işleci nesne döndürmez.Adres değer ger döndürür.
       {
             int val = 10;

             ++&val; // nesne geri dönmez.sağ taraf değeri olabilir.
       }
       //Adres değerlerini ekrana yazdıralım
       {
             //%p : adres değerini onaltılık sistemde yazdırır.
             int val = 10;
             int *ptr = &val;
             printf("val nesnesinin adresi: %p\n", &val);
             printf("ptr nesnesinin adresi: %p\n", &ptr);
             printf("ptr degiskeninin degeri: %x\n", ptr);
       }
       return EXIT_SUCCESS;
}

Göstericiler ile ilgili eğitim videosu izlemek için tıklayınız.

Hiç yorum yok:

Yorum Gönder