Proceduralni jezici - FESB
Proceduralni jezici - FESB
Proceduralni jezici - FESB
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Prijenos argumenata (stvarnih parametara) funkcije<br />
Stvarni parametar ili argument funkcije je objekt koji se deklarira kao formalni parametar funkcije. On ima ime, i<br />
vrijednost i adresu (ukoliko nije konstanta). U funkciju se mogu prenositi sve tri značajke argumenta. Koriste se sljedeći<br />
nazivi za prijenos argumenata u funkciju:<br />
Prenosi se<br />
Vrijednost: Formalni parametar se tretira kao lokalna varijabla koja se inicijalizira na vrijednost argumenta. To je<br />
standardni oblik prijenosa vrijednosti konstanti i skalarnih varijabli u C i Javi.<br />
Referenca: Formalni parametre je pokazivač na stvarni parametar. Koristi se u C++ i C za prijenos nizova i varijabli.<br />
Rezultat: Formalni parametar se tretira kao lokalna varijabla. Njena konačna vrijednost se nakon završetka funkcije<br />
kopira u stvarni argument funkcije.<br />
Vrijednost/Rezultat: Kombinacija dva moda. Formalni parametar se tretira kao lokalna varijabla koja se inicijalizira<br />
na vrijednost argumenta. Nakon završetka funkcije rezultat se upisuje u stvarni argument.<br />
Ime: Formalni parametar predstavlja blok koda (zovemo ga thunk) koji se evaluira da bi se dobila vrijednost ili<br />
adresa argumenta. Koristi se jedino u jeziku Algol.<br />
Read-only (Const): Dozvoljen je argument koristiti samo kao konstantu.<br />
Koji se načini prijenosa argumenata stvarno koristi?<br />
• C jezik koristi se prijenos vrijednosti, jedino se nizovima prenosi referenca (adresa nultog elementa)<br />
• C++ dozvoljava prijenos reference varijable<br />
void swap(int &a, int &b) {int t = a; a = b; b = t:}<br />
39