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.

7.3. PRIJENOS ARGUMENATA 127}return 0;Rezultat izvršavanja programa će biti:Izvan funkcije x=5Unutar funkcije x=6Nakon poziva funkcije x=5Istaknimo najvažnija pravila o prijenosu argumenata.• Broj stvarnih argumenata pri svakom pozivu funkcije mora biti jednakbroju formalnih argumenata.• Ako je funkcija ispravno deklarirana (ima prototip), tada se stvarniargumenti čije se tip razlikuje od odgovarajućih formalnih argumentakonvertiraju u tip formalnih argumenata, isto kao pri pridruživanju.Takva konverzija pri tome mora biti moguća.• Ukoliko je funkcija na mjestu svog poziva deklarirana implicitno pravilimaprevodioca, tada prevodioc postupa na sljedeći način: Na svakistvarni argument cjelobrojnog tipa primijenjuje se integralna promocija(konverzija argumenata tipa short i char u int), a svaki stvarniargument tipa float konvertira se u tip double. Nakon toga broj itip (konvertiranih) stvarnih argumenta mora se podudarati s brojem itipom formalnih argumenata da bi poziv funkcije bio korektan.• Redosljed izračunavanja stvarnih argumenat nije definiran i može ovisitio implemetaciji.Pogledajmo na primjer sljedeći program:#include int main(void){float x=2.0;}printf("%d\n",f(2));printf("%d\n",f(x));return 0;// Neispravno// Ispravno

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

Saved successfully!

Ooh no, something went wrong!