Kada je to neophodno, ipak je moguće postići da funkcija modifikuje promenljivu u pozivajućoj funkciji. Pozivalac mora da obezbedi adresu promenljive koju treba promeniti (tehnički, pokazivač na tu promenljivu). Pozvana funkcija mora deklarisati da odgovarajući parametar predstavlja pokazivač i željenoj promenljivoj pristupati posredno preko njega.

Time se menja vrednost pokazivanog podatka, a ne sam pokazivač koji je parametar funkcije. S obzirom da se pokazani podatak nalazi izvan funkcije, promena vrednosti tog podatka videće se i izvan funkcije.

Promene vrednosti podataka koje su nastale na taj način ne smatraju se prirodnim rezultatime funkcije i zato se nazivaju bočni efekti. Jedini prorodni rezultat funkcije je vrednost funkcije koja se vraća naredbom return.

Parametar pokazivačkog tipa može se smatrati samo sredstvom za dolaženje do podatka koji je predmet obrade. Suštinski argument funkcije je taj obrađivani podatak, čija se adresa dostavlja pomoću pokazivača. Zbog toga se kaže da se pokazivačkim parametrima argumenti prenose u funkcije pomoću adrese.

Primer 2: Napisati funkciju koja treba da izračuna zbir, razliku i proizvod dva realna broja:

slika programskog koda

 

(* uvod u narednu lekciju smile

Nizovi su drugačija priča. Kada se kao argument koristi ime nekog niza, vrednost koja se prenosi funkciji je lokacija ili adresa početka niza - nema kopiranja elemenata niza. Indeksiranjem ove vrednosti, funkcija može pristupati i promeniti svaki element niza.

Last modified: Saturday, 17 November 2018, 7:42 PM