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