Salve vi espongo subito il mio problema in pratica devo gestire una coda mediante l'utilizzo di una lista linkata semplice in linguaggio c .Realizzo 2 funzioni per accodare e disaccodare un elemento e passo alle funzioni i puntatori alla testa e alla coda della struttura il problema è che all'uscita dalla funzione i puntatori passati come argomento vengono risettati a NULL qualcuno mi potrebbe aiutare ? vi posto il codice

codice:
#include <.....>

typedef struct TipoNodo
                      {
                        int Valore;
                        struct TipoNodo *Next;    
                      } TIPONODO;

void Inserisci ( TIPONODO* , TIPONODO* ,int )

int main()
{
  TIPONODO *Head ,
           *Tail ;

  Head = NULL;
  Tail = NULL;

  printf("%d %d",Head,Tail); 

  Inserisci(Head , Tail , 12);
 

  printf("\n\n%d %d",Head,Tail); 
  system("pause");
}

void Inserisci ( TIPONODO* Head , TIPONODO* Tail ,int Value)
{
  TIPONODO *Tmp;

  Tmp  = (TIPONODO*) malloc (sizeof(TIPONODO));
  Tmp->Valore = Value;
  Tmp->Next = NULL;

  if ( Tail == NULL )
  {
    Tail = Tmp;
    Head = Tmp;
  }
  else
  {
    Tail->Next = Tmp;
    Tail =Tmp;
  }
}
All'uscita della funzione inserisci vengono perse le assegnazioni alle variabili Head e Tail passate come argomento alla funzione chi potrebbe aiutarmi THANKSSSSSS !!!!!