Ponteiros C

3 respostas
acomerlatto
Estou tendo um pequeno problema com um ponteiro para uma Lista encadeada eis o código:
void inserir_inicio(tLista *t, int dado){
tLista t_novo;
t_novo = (tnolista *) malloc(sizeof(tnolista));
if(t_novo == NULL) return;
(t_novo)->info = dado;

if(*t == NULL){
(*t) = t_novo;
(*t)->nxt = NULL;
}else{
(t_novo)->nxt = *t;
*t = t_novo; // Erro: Warning: Assignment from incompatible pointer type;
}
}
O arquivo de cabeçalho
typedef struct nolista{
struct nolist*nxt;
int info;
}tnolista;
typedef tnolista *tLista;

>__< Já tentei virar de tudo que é jeito.

3 Respostas

drsmachado

Veja que:

tLista *t != tLista t_novo

Não é?

acomerlatto

__< Irmão sou novato pacas em C, eu já tentei de varias formas

*t = *t_novo
t = t_novo
t = *t_novo

E o professor deu essa matéria por cima na faculdade, ele só falou: Isso é um ponteiro, assim que vc usa, tchau…
e_e ai complica pra mim

e foi mal, eu comentei na linha errada é a linha acima dela

ViniGodoy

A linha 02 deveria ser declarada assim:

Criado 27 de novembro de 2012
Ultima resposta 27 de nov. de 2012
Respostas 3
Participantes 3