12.07.2015 Views

Programski jezik C - Pmf

Programski jezik C - Pmf

Programski jezik C - Pmf

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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

202 POGLAVLJE 12. STRUKTURE12.3.2 Složeni izraziKada imamo pokazivač na strukturu s članom koji je pokazivač mogu sejaviti složeniji izrazi. Na primjer, neka jestruct {int n;char *ch;} *pt;Tada možemo imati izraze(++pt)->ch(pt++)->chpri čemu prvi povećava pokazivač pt, a zatim vraća ch član strukture, dokdrugi prvo vraća ch član strukture, i nakon toga povećava pokazivač pt. Uovom drugom primjeru zagrada nije potrebna, tj. možemo pisatipt++->ch(asocijativnost od ++ je zdesna na lijevo, a -> slijeva na desno).Izraz*pt->ch++povećat će clan ch nakon što dohvati vrijednost na koju pt->ch pokazuje.Naime, operator -> ima najviši prioritet i prvi se primijenjuje. Unarni operatoriimaju isti prioritet i asocijativnost D->L. To znači da se prvo primijenjujeoperator inkrementiranja na pokazivač pt->ch, a tek onda operatordereferenciranja. Kako je operator inkrementiranja u postfiks formi, to ćedo inkrementiranja doći nakon što se dohvati vrijednost na koju pt->ch pokazuje.Da bismo inkrementirali sam objekt na koji pt->ch pokazuje trebapisati (*pt->ch)++. Konačno,*pt++->chće inkrementirati pt nakon što dohvati objekt na koji ch pokazuje.Ne treba niti spominjati da ovakve izraze treba izbjegavati, razbijati ih uviše izraza i maksimalno se koristiti zagradama kako bi značenje izraza bilojasnije.

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

Saved successfully!

Ooh no, something went wrong!