- Učlanjen(a)
- 26.05.2006
- Poruke
- 6,153
- Poena
- 510
Ovo mi nije bas najjasnije...pa bih zamolio nekog da mi malo pojasni 
Kada se definise jednostruka ili dvostruka spregnuta lista sa typedef naredbom, npr :
typedef struct cvor { int br;
struct cvor *sl; } Cvor;
i kada posle pisemo neku f-ju koja koristi tu strukturu npr. za kreiranje liste, mozemo da stavimo ili :
void upis( Cvor **c)
{ Cvor *n; int b;
*c=NULL;
while(scanf("%d", &b)!=EOF))
{ n=(Cvor*) malloc (sizeof(Cvor));
n->br=b;
n->sl=*c;
*c=n; }
}
ili
Cvor *upis(Cvor *c)
{ Cvor *n; int b;
c=NULL;
while(scanf("%d", &b)!=EOF))
{ n=(Cvor*) malloc (sizeof(Cvor));
n->br=b;
n->sl=c;
c=n;
return c; }
}
Kapiram da 2. slucaju f-ja vraca pokazivac na , a sta vraca u prvom? Vrednost adrese na koju pokazuje pokazivac ili ?
Isto tako, u 2. slucaju *c je pokazivac na prvu strukturu u listi, a sta predstavlja u **c prvom skucaju ? Profesor nam kaze da je to pokazivac na celu listu, ali mi nije jasno kako on funkcionise...
I da li sve f-je vezane za liste mogu da se urade tako - na 2 nacina, sa obicnim i dvostrukim pokazivacem?
Hvala
Kada se definise jednostruka ili dvostruka spregnuta lista sa typedef naredbom, npr :
typedef struct cvor { int br;
struct cvor *sl; } Cvor;
i kada posle pisemo neku f-ju koja koristi tu strukturu npr. za kreiranje liste, mozemo da stavimo ili :
void upis( Cvor **c)
{ Cvor *n; int b;
*c=NULL;
while(scanf("%d", &b)!=EOF))
{ n=(Cvor*) malloc (sizeof(Cvor));
n->br=b;
n->sl=*c;
*c=n; }
}
ili
Cvor *upis(Cvor *c)
{ Cvor *n; int b;
c=NULL;
while(scanf("%d", &b)!=EOF))
{ n=(Cvor*) malloc (sizeof(Cvor));
n->br=b;
n->sl=c;
c=n;
return c; }
}
Kapiram da 2. slucaju f-ja vraca pokazivac na , a sta vraca u prvom? Vrednost adrese na koju pokazuje pokazivac ili ?
Isto tako, u 2. slucaju *c je pokazivac na prvu strukturu u listi, a sta predstavlja u **c prvom skucaju ? Profesor nam kaze da je to pokazivac na celu listu, ali mi nije jasno kako on funkcionise...
I da li sve f-je vezane za liste mogu da se urade tako - na 2 nacina, sa obicnim i dvostrukim pokazivacem?
Hvala