figulus
09-02-2005, 12:52
Ho un dubbio sulla sintassi.
Ho definito una struttura struct pippo{...} e poi dato un typedef struct pippo * Pippo. Ora ho bisogno di una funzione che lavori maneggiando Pippo e restituendolo modificato (tutto ciò è standard e di uso comune), chiamando a sua volta un'altra funzione, ricorsiva. Del tipo:
Pippo funzione1 (...){
Pippo P;
...
funzione2(&P, ...);
return(P);
}
void funzione2(Pippo *P, ...){
if (condizione){
funzione2(&P, ...);}
else
{*P=...;}
}
ma ho un segmentation fault e penso che sia causato da qualche errore di sintassi. Il passaggio per indirizzo che ho fatto è corretto?
P.S. L'ho già fatto in passato ma al posto di un puntatore su una struttura avevo un intero e tutto funzionava...
Ho definito una struttura struct pippo{...} e poi dato un typedef struct pippo * Pippo. Ora ho bisogno di una funzione che lavori maneggiando Pippo e restituendolo modificato (tutto ciò è standard e di uso comune), chiamando a sua volta un'altra funzione, ricorsiva. Del tipo:
Pippo funzione1 (...){
Pippo P;
...
funzione2(&P, ...);
return(P);
}
void funzione2(Pippo *P, ...){
if (condizione){
funzione2(&P, ...);}
else
{*P=...;}
}
ma ho un segmentation fault e penso che sia causato da qualche errore di sintassi. Il passaggio per indirizzo che ho fatto è corretto?
P.S. L'ho già fatto in passato ma al posto di un puntatore su una struttura avevo un intero e tutto funzionava...