31 Aralık 2015 Perşembe

Göstericiler(Pointers)-2

Göstericiler(Pointers)-2

Açıklama: Gösterici tanımlaması nasıl yapılır?özet.
Göstericilerde bir nesne olduğu için bellekte
yer kaplar. Bellekte kapladıkları uzunluk nedir?
Gösterici değişkenlerin uzunlukları?
Gösterici değişkenlerin uzunlukları türden bağımsız mıdır?
Göstericilere adres sabitleri atanabilir mi?
Göstericilerin birbirlerine atanması.

Gösterci değişkenlere nesne adresleri nasıl atanır?

/* Açıklama: Gösterici tanımlaması nasıl yapılır?özet.
 * Göstericilerde bir nesne olduğu için bellekte
 * yer kaplar. Bellekte kapladıkları uzunluk nedir?
 * Gösterici değişkenlerin uzunlukları?
 * Gösterici değişkenlerin uzunlukları türden bağımsız mıdır?
 * Göstericilere adres sabitleri atanabilir mi?
 * Göstericilerin birbirlerine atanması.
 * Gösterci değişkenlere nesne adresleri nasıl atanır?
 */

#include <stdio.h>
#include <stdlib.h>

int main(void) {
       //gösterici tanımlaması
       {
             //<tür> <nesne_adi>; //nesne tanımlama
             //<tür> *<gösterici_ismi>;//gösterici tanımlama
             char ch = 'A';
             char *pCh; //pCh bir nesnedir. Gösterii bellekte yer kaplar.
             float *pTotal;
             double *pTotalMoney;
             int *pCount;
       }
       /* Gösterici değişkenlerin uzunlukları donanım bağımlıdır.
        * Uzunluklar türden bağımsızdır.
        */
       {
             //göstericiler donanım bağımlı uzunluğa sahiptir.
             // 32 bit sistemlerde 4 byte yer kaplar
             // 16 bit sistemlerde 2 byte yer kaplar.
             // 64 bit sistemlerde 8 byte yer kaplar
             //göstericilerin uzunluğu türden bağımısızdır.

             char ch = 'A';
             char *pCh; // char tipinden gösterici
             int total = 10;
             int *pTotal;
             double totalMoney = 0;
             double *pTotalMoney;


             printf("sizeof(ch) = %d\n", sizeof(ch));
             printf("sizeof(pCh) = %d\n", sizeof(pCh));
             printf("sizeof(total) = %d\n", sizeof(total));
             printf("sizeof(pTotal) = %d\n", sizeof(pTotal));
             printf("sizeof(totalMoney) = %d\n", sizeof(totalMoney));
             printf("sizeof(pTotalMoney) = %d\n", sizeof(pTotalMoney));
       }
       /* Adres Sabitleri(Değişmezleri):
        * Adres sabitleri genelde gömülü sistemlerde kullanılır.
        */
       {
             int a = 100;
             int *pA = (int *)100;
             int *comPortAddr = (int *)0x100;
       }
       //Göstericiler bir birine atanabilir
       {
             int *pA = (int *)0x100; //int tipinden bir gösterici
             char *pCh; // char tipinde gösterici

             pCh = (char *)pA;
       }
       //Nesne adreslerinin göstericilere atanması
       {
             int a = 10;
             int *pA = &a;
       }
       return EXIT_SUCCESS;
}

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

Hiç yorum yok:

Yorum Gönder