12.07.2015 Views

Programski jezik C - Pmf

Programski jezik C - Pmf

Programski jezik C - Pmf

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

11.7.POKAZIVAČI I VIŠEDIMENZIONALNA POLJA 187}"travanj","svibanj", "lipanj","srpanj","kolovoz", "rujan","listopad", "studeni", "prosinac"};return (n12) ? mjeseci[0] : mjeseci[n];Uočimo da smo polje mjeseci deklarirali static kako ne bi bilo uništeno naizlazu iz funkcije.11.7 Pokazivači i višedimenzionalna poljaU C-u dvodimenzionalno polje je polje čiji je svaki element jedno jednodimenzionalnopolje. Stoga, ako jestatic int x[MAXX][MAXY];jedno dvodimenzionalno polje, onda je x[i][j] element na mjestu (i,j), dokje x[i] polje od MAXY elemenata. Slično je i s višedimenzionalnim poljima.Ako imamostatic int x[2][3][4];onda je x polje dimenzije 2 × 3 × 4 dok je x[i] polje od tri elementa, svakiod kojih je polje od 4 elemeta; x[i][j] je polje od 4 elemeta.Operacija indeksiranja E1[E2] identična je s *(E1+E2) i stoga je to komutativnaoperacija (što nije naročito korisno). Na primjer, ako je x poljeonda drugi element polja možemo zapisati kao x[1] ili kao 1[x].Kod dvodimenzionalnog polja izraza oblika x[2][3] interpretira se nasljedeći način:Ovdje jex[2][3] -> *(x[2]+3) -> *(*(x+2)+3).x pokazivač na jednodimenzionalno polje čiji su elemeti polja;x+2 je pokazivač na treće polje;*(x+2) treće polje, dakle pokazivač na prvi element trećeg polja;*(x+2)+3 je tada pokazivač na četvrti element tog polja;*(*(x+2)+3) je sam taj element.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!