Posle časa 12

Pokazivači i promena podataka

Napiši jedan kratak odgovor za usmeni, a zatim završi preostale zadatke Časa 12 u Vežbaonici.

Odgovori na formulaciju sa usmenog: Objasniti prenos parametra funkciji po vrednosti i po referenci i navesti kratke primere koji ilustruju upotrebu. U odgovoru preciziraj kako C stvarno prosleđuje argumente.

Mali trag

Pokaži jedan parametar int x koji dobija kopiju i jedan parametar int *p kome se prosleđuje &a. Objasni šta menja x++, a šta (*p)++.

Pogledaj rešenje

C svaki argument prenosi po vrednosti. Parametar int x dobija kopiju, pa promena x ne menja argument. Kada prosledimo &a parametru int *p, kopira se vrednost adrese, a *p pristupa originalnom a i može da ga promeni. To se često neformalno naziva prenos po referenci.

Otvori https://aip.zmenix.com/vezbaonica.php i završi zadatke 1-6 iz grupe Čas 12 koje nisi uradila na času. Zadatke 7 i 8 uradi kao dodatnu vežbu. Program najpre napiši na papiru, zatim ga unesi na sajt i proveri bitne delove.

Mali trag

Pre svakog poziva proveri: da li funkcija očekuje vrednost ili adresu? Ako očekuje int *, pošalji adresu odgovarajuće int promenljive ili elementa niza.

Pogledaj rešenje

Zadaci 1-4 uvežbavaju jednu ili više promena preko adrese. Zadatak 5 vraća minimum i maksimum, a zadatak 6 menja niz. Zadaci 7 i 8 povezuju više funkcija u jednom rešenju.

Ako ti je neko pitanje bilo teško, pošalji mi samo njegov broj i proći ćemo ga na sledećem času.