Vorrei che una funzione mi restituisse un valore usando lo stesso come paramentro passato per riferimento e non per valore. Il paramentro in questione pero è un puntatore e qui sorge l'arcano: perche cosi funziona...
codice:
void crea_lista(t_lista **lista) 
{
	int val = 24;  //valore assegnato arbitrariamente
	t_lista * l = NULL;

	l = (t_lista*)malloc(sizeof(t_lista));
	l->valore = val;
	l->p_succ = NULL;

	*lista = l;
}
...e cosi no?
codice:
void crea_lista(t_lista **lista) 
{
	int val = 24;  //valore assegnato arbitrariamente

	*lista = (t_lista*)malloc(sizeof(t_lista));
	*lista->valore = val;
	*lista->p_succ = NULL;
}