Ho ricontrollato il mio codice e di fatti era errato.....ecco il nuovo codice:
(ricordo che se avete idee completamente diverse per contare le istanze di un array di liste con doppi puntatori, postata pure.......)

codice:
#include <stdio.h>
#include <stdlib.h>

struct elemento
{
    int  valore;
    struct elemento *prec;
    struct elemento *next;
};

struct element
{
    struct elemento *testa;
    struct element  *prec_lista;
    struct element  *next_lista;
} *head=NULL;

/* Esecuzioni di diverse funzioni che portano ad avere 5 liste (variabili
 * di tipo struct elemento), e un array di 4 elementi (di tipo struct element).
 * Quindi head punta al primo elemento dell'array....                       */

void contaIstanze()
{
    int contatore=0;
    struct element *temp1=head;
    struct element *temp2;
    while(temp1!=NULL)
    {
        temp2=temp1->testa;
        while(temp2!=NULL)
        {
            contatore++;
            temp2=temp2->next;
        }
        temp1=temp1->next_lista;
    }
}


Gli errori (quelli che da il compilatore) sono i seguenti:
In function `contaIstanze':
- [Warning] assignment from incompatible pointer type;
- structure has no member named `next'.