File: Stare vježbe/vjezbe09/52__pointeri_i_polja.c
/* 52__pointeri_i_polja.c Pointeri i polja ----- Primjer demonstrira blisku korespodenciju izmedju pointera i polja odgovarajuceg tipa. Pokazuje se da operacija dohvacanja i-tog elementa polja x[i] nije nista drugo nego uzimanje elementa sa adrese x+i: x[i] == *(x+i) */ #include <stdio.h> int main() { int x[] = {0, 1, 2}; int *px; printf("x[0] = %d\t&x[0] = %d\n", x [0], &x [0]); printf("x[1] = %d\t&x[1] = %d\n", x [1], &x [1]); printf("x[2] = %d\t&x[2] = %d\n\n", x [2], &x [2]); /* Postavljamo da pokazivac px pokazuje na prvi element polja x */ px=&x[0]; /* Napomena: mogli smo napisati i: px=x; */ printf(" *px = %d\t px = %d\n", *px, px ); printf("*(px+1) = %d\tpx+1 = %d\n", * (px +1), px +1); printf("*(px+2) = %d\tpx+2 = %d\n\n", * (px +2), px +2); /* Ime (identifikator) polja nije nista drugo nego (konstantan) pokazivac na prvi element polja */ printf(" *x = %d\t x = %d\n", *x, x ); printf("*(x+1) = %d\tx+1 = %d\n", * (x +1), x +1); printf("*(x+2) = %d\tx+2 = %d\n", * (x +2), x +2); return 0; }
|