Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Vezane liste - pitanje

[es] :: C/C++ programiranje :: Vezane liste - pitanje

[ Pregleda: 1437 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Ambien
Nezaposlen
Sarajevo

Član broj: 280999
Poruke: 1
109.175.51.*



Profil

icon Vezane liste - pitanje05.03.2011. u 09:01 - pre 159 meseci
Code:
struct key_list
{
 char *key_name;
 char *key_val;
 struct key_list *next;
};

typedef struct _ini_list
{
 char *sect_name;
 struct key_list *keys;
 struct _ini_list *next;
}ini_list;

void add_sect(ini_list **il, const char *s_name)
{
 ini_list *tmp=NULL;
 ini_list *p=NULL;

 tmp = (ini_list*)malloc(sizeof(ini_list));
 tmp->sect_name=(char*)malloc(strlen(s_name)+1);
 strcpy(tmp->sect_name,s_name);
 if(*il==NULL)
 {
  *il=tmp;
  tmp->next=NULL;
 }
 else
 {
  p = *il;
  while(p->next != NULL)
  {
   p=p->next;
  }
  p->next=tmp;
  tmp->next=NULL;
 }
}

void free_sect(ini_list *il)
{
 ini_list *tmp;

 while(il != NULL)
 {
  tmp = il->next;
  free(il->sect_name);
  free(il);
  il=tmp;
 }
}

Ovaj kod iznad radi perfektno, ali zelio bih da uradim nesto novo tj. da iskoristim postojecu funkciju za dodavanje sekcije tako sto cu je moci iskoristiti i za dodavanje kljuceva. Nista mi konkretno ne pada na um, nisam odavno radio u C-u, mislio sam da to uradim preko void pokazivaca ali opet nista. Da sumiram, postoji li nacin da vrsim alociranje memorije za dvije vrlo slicne strukture sekcija i kljuc koristeci samo jednu funkciju.

Hvala,
Pozdrav!
Potpisano
 
Odgovor na temu

miniplazma

Član broj: 240037
Poruke: 68
*.crnagora.net.



Profil

icon Re: Vezane liste - pitanje11.04.2011. u 23:37 - pre 158 meseci
Najjednostavnije ti je da uradiš

typedef struktura_podataka Item;

I zavisno koju strukturu podataka koristiš, ovu lliniju koda izmjeniš. U tvom slučaju ako hoćeš da koristiš listu tipa key_list
typedef struct key_list item; // u citavom programu promjenljive koje si deklarisao sa key_list zamjeni u item

Ako hoćeš listu jabuka(blesav primjer ali nema veze :p )
typedef struct jabuka item;

Nadam se da ti je ovo pomoglo.
 
Odgovor na temu

[es] :: C/C++ programiranje :: Vezane liste - pitanje

[ Pregleda: 1437 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.