31 Aralık 2015 Perşembe

Göstericiler(Pointers)-9

Göstericiler(Pointers)-9

Gösterici operatörlerinde köşeli ayraç
nasıl kullanılır?
Dizi isimleri ile elamlara nasıl ulaşılır?
Göstericilere dizinin herhangi bir elemanın adresi

atanır mı?

/* Açıklama : Gösterici operatörlerinde köşeli ayraç
 * nasıl kullanılır?
 * Dizi isimleri ile elamlara nasıl ulaşılır?
 * Göstericilere dizinin herhangi bir elemanın adresi
 * atanır mı?
 */

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

int main(void) {
       //Köşeli ayraç işleci []
       /*{
             //adres[sayısal ifade]
             char city[20] = "istanbul";

             //city[0] = city + 1 = city + sizeof(char)
             city[0] = *(city + 0);
             city[1] = *(city + 1);
             city[2] = *(city + 2);

             city[n] = *(city + n);

       }*/
       /* köşeli ayraç örnek: Göstericiye dizinin elemanın adresinin
        * atanması.
        */
       {
             int numbers[5] = { 12,13,14,15,16}; //numbers = 0x100
             int *ptr = numbers + 2; //=&numbers[2] = 0x108

             printf("ptr[0] = %d\n", ptr[0]); //sonuc = 14
             //ptr = 0x108  ptr[-1] = *(ptr - 1)  ptr -1 = 0x104
             printf("ptr[-1] = %d\n", ptr[-1]); //sonuc = 13
             // ptr = 0x108  ptr-2 = 0x108- 2*sizeof(int) = 0x100
             printf("ptr[-2] = %d\n", ptr[-2]); //sonuc = 12

       }
       return EXIT_SUCCESS;

}

Hiç yorum yok:

Yorum Gönder