se io ho delle strutture di questo tipo:
e ho un nodo, che nel campo "figli" ha una lista di determinati oggetti. Questi oggetti nel campo void *value, hanno un elemento di tipo attributo.codice:struct NodoLista { int prova; void *value; struct NodoLista *next; }; typedef struct NodoLista *list struct node { char *name; list figli; int id; }; typedef struct node *node; struct attributo { char *nome; char *valore; }; typedef struct attributo attributo;
La mia domanda è: come posso fare per accedere ai campi (nome e valore) dell'elemento di tipo attributo, vista la nidificazione di strutture?
cioe:
node n;
list l;
(creo una certa lista dove nel campo void ci sono elementi di tipo attributo e tramite una funzione la metto come campo "figli" nel nodo n)
ora come faccio se per es volessi cambiare il campo valore di un certo elemento attributo che è nella lista suddetta??
importante: io nella mia funzione ho a disposizione solo il nodo come paramentro e il nome del campo "nome" dell'oggetto attributo da cambiare
nodo->figli->value->valore ???
nodo->figli->valore ???
queste ovviamente sono illegali.. ma come posso fare??
grazie