ciao a tutti,
ho iniziato a studiare da poco il linguaggio C pertanto premetto che il mio problema potrà sembrare stupido a molti di voi ma per imparare bisogna pur partire dal fondo.
Sto studiando le strutture dati e in questo momento sto cercando di imparare come funzionano le liste.
Sto realizzando un semplice programma che costruisce una lista e ne conta gli elementi mediante una funzione (vi posto il codice):

codice:
[list=1][*] #include <stdio.h>[*] #include <stdlib.h>[*][*] /*DICHIARAZIONE FUNZIONE*/[*] int conta();[*][*] int main(void)[*] { [*]    int i, numero;[*][*]    /*CREAZIONE DI UNA LISTA CONTENENTE I PRIMI 10 NUMERI PARI*/[*]    typedef struct nodo[*]    {[*]       int value;[*]       struct nodo *next;[*]    }Nodo;[*][*]    Nodo *p, *L;[*]    [*]    p = (Nodo *)malloc(sizeof(Nodo));[*]    p->value = 2;[*]    p->next = NULL;[*]    L = (Nodo *)malloc(sizeof(Nodo));[*]    L->value = 4;[*]    L->next = NULL;[*]    p->next = L;[*]    for(i = 3; i <= 10; i++)[*]    {[*]       L->next = (Nodo *)malloc(sizeof(Nodo));[*]       L = L->next;[*]       L->value = 2 * i;[*]    }[*] [*]    numero = conta(p);[*][*]    printf("Nella lista sono presenti %d elementi\n", numero);[*]    return(0);[*] }[*][*] /*DEFINIZIONE DELLA FUNZIONE*/[*] int conta(Nodo *L)[*] {[*]    int quanti = 0;[*]    [*]    while(L != NULL)[*]    {[*]       quanti++;[*]       L = L->next;[*]    }[*][*]    return(quanti);[*] }[/list=1]
Quando vado a compilare gcc ritorna il seguente errore:
error: expected ')' before '*' token
alla riga 41.
Ho cercato ovunque ma non ce l'ho fatta a risolvere, spero che qualcuno possa aiutarmi.
Grazie