sempre nell'argomento delle liste e altri tipi astratti.. se io ho una cosa del genere:

codice:
typedef struct {
	char *nome;
	int id;
} nodo;

int nuovo_nodo(nodo *n, char *name, int x) { 
	printf("creato nuovo nodo\n");
	n = (nodo*)malloc(sizeof(nodo));
	n->nome = (char *)malloc(sizeof(char) * 50);
	n->nome = strcpy(n->nome,name);
	n->id = x;
	return 0;
}

int main() {
	nodo n;
	int prova;
	prova = nuovo_nodo(&n,"prova",6);
	printf("nome del nodo: %s\tid: %d\n",n.nome,n.id);

return 0;
}
dov'è che sbaglio?? perche nn riesco a copiare i valori corretti passati in input (prova, 6) nei campi del nodo n ?? suppongo che sbagli qualcosa al livello di puntatori..ma non mi pare d vedere errori...

(PS: le funzioni devono necessariamente tornare valori int)