[ Brolly @ 28.12.2007. 18:33 ] @
E ovako.... Radi vezbanja listi, napisao sam program koji vrsi inicijalizaciju liste, unos novih elemenata, brisanje elementa, brisanje cele liste i listanje. Medjutim nisu mi svi delovi koda jasni, posto sam napisao delom samostalno, delom potpomazuci se drugim kodom slicnog zadatka. Dakle prvo, struktura je sledeca: Code: typedef struct cvor { char ime[MAX_STRING]; char prezime[MAX_STRING]; int indeks; struct cvor *sledeci; } Tcvor; Dakle, od informacija unosi se ime, prezime i br indeksa studenta. A onda odmah ispod toga, definisano je: Code: typedef Tcvor *Pcvor; Ispod toga deklarisano je sledece: Code: Pcvor glava; Pitanje br. 1: Da li je Pcvor glava; ekvivalentno sa Tcvor *glava; ? Ok, dalje: Ispisuje se meni i preko switch-a se vrsi izbor: Code: switch(izbor) { case 1: inicijalizacija(&glava); break; case 2: unos(&glava); break; case 3: listanje(&glava); break; case 4: brisanje_el(&glava); break; case 5: brisanje_liste(&glava); break; default: greska=1; break; 2. pitanje: Glava je deklarisana kao pokazivac na tip Tcvor. Zasto ide adresni operator & u pozivu f-ja? Da li bi moglo bez toga, samo npr. inicijalizacija(glava)? 3. Kada se pri dodelama napise *glava, misli se na sadrzaj na koji ona pokazuje? A kad se stavi &? A sta kad se ne stavi nista? Ovo me je oduvek bunilo. |