Ok, grazie!
Ora l'unico problema è che non inizializzando a NULL i nuovi nodi allocati, ho il problema nel fare il confronto:

codice:
if (G->dizionario[u] != NULL && G->dizionario[v] != NULL )
Praticamente entra in questo if anche quando alloco memoria ma in realtà gli indirizzi puntanto a qualcosa di insensato e questo non mi và bene..
Sono costretto a fare una cosa del tipo:

codice:
NODO **NewArchi;

NewArchi = (NODO**)calloc(STEP_NODO, sizeof(NODO));

G->archi = (NODO**)realloc(NewArchi, G->N_Max+STEP_NODO);
Andrebbe bene così?