Non capisco perchè mi da in seguente warning: assignment from incompatible pointer type, alla riga dove utilizzo la seconda malloc.
p è un puntatore a nodo, p-> next è a sua volta un puntatore a nodo, perchè allora da questo warning?
codice:
typedef struct
{
    char *nome;
    struct nodo *next;
}nodo;

int main(int argc, char **argv)
{
    nodo *p;
    p=(nodo*)malloc(sizeof(nodo));
    p->next=(nodo*)malloc(sizeof(nodo));
    return 0;
}