Salve a tutti,
sto preparando l'esame di programmazione che bene o male e tutto concentrato sulle strutture e le liste.
Guardando i compiti vecchi mi sono imbattuto in questo tipo di "liste di liste" dove non trovo alcuna spiegazione a riguardo. Ho provato anche navigando ad ottenere informazioni, ma niente di chiaro.
Cosi con quel poco che ho capito ho provato a buttare giu una definizione di lista di liste ed un eventuale esercizio che consite nell'accesso alla lista alla cella specificata. Insomma bracolo nel buio e vorrei un vostro parere a riguardo...grazie per eventuali consigli e delucidazioni.

Dato in input il codice del corso, calcolare la media degli studenti iscritti al tal corso:

codice:
struct lista_first
{
    int codice_corso;
    int cfu;
    char titolare_corso[MAX];
    int semestre;
    struct lista_first *next;
    struct lista_second *next2;
};

struct lista_first *lista1;

struct lista_second
{
    int matricola_studente;
    char nome_e_cognome[MAX];
    int voto;
    int data_verbalizzazione;
    struct lista_second *next;
};

struct lista_second *lista2;



int media_voto(int codice_corso)
{
    int i, cod, num_elem=0;
    float val,media=0;

    for(i=0; lista1->next2 != NULL; i++)
    {
        cod=lista1->codice_corso;

        if(codice_corso == cod)
        {
            while(lista2->next != NULL)
            {
                val= lista2->voto;
                media= media+val;
                num_elem++;
            }
        }
    }
    
    media= media/num_elem;
    return media;
}