O programa completo tem como objetivo armazenar em lista encadeada dados como nome, sobrenome e cpf. A função abaixo recebe a lista, um nome, um sobrenome e cpf e armazenar na lista. Mas está dando um erro nesta função, o erro está no "else" do código abaixo, mais precisamente nas linhas "aux = aux -> prox;" e "aux -> prox = novo;".
Erro: warning: assignment from incompatible pointer type[enable by default]
no * adiciona_novo (no **lista, char nome[20], char sobrenome[30], int cpf)
{
no *novo, *aux;
novo = (no *) malloc (sizeof (no));
if (novo == NULL)
{
puts ("Falta memoria, nao houve alocacao\n");
exit (1);
}
novo -> nome[20] = nome[20];
novo -> sobrenome[30] = sobrenome[30];
novo -> cpf = cpf;
novo -> prox = NULL;
/* Verifica se a lista está vazia */
if (lista == NULL) //**** Se vazia
{
*lista = novo;
}
else //***************** Se não vazia
{
aux = *lista;
do
{
aux = aux -> prox;
} while(aux -> prox != NULL);
aux -> prox = novo;
}
return *lista;
}
(não tá dando pra mandar ele indentado, desculpem. )