Ir para conteúdo
Sr.Hozuki

Como fazer uma lista?

Recommended Posts

Eu ainda estou meio que engatinhando nesse assunto. um exemplo de código :

typedef struct lista {
   int numero;
  struct lista *proximo;
} Elemento;

int main(){
 Elemento* Node = (Elemento*)malloc(sizeof(Elemento)*10);
return 0;
}

Como eu faço para ligar um ponteiro no próximo nó? No caso, eu queria colocar o outro nó sempre no fim da lista e ir ligando um no outro atraves dos ponteiros que tem na struct.

Vi uns videos e realmente não entendi o funcionamento.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Em uma variável do tipo struct lista o ponteiro próximo vai receber o endereço de memória de uma outra variável também do tipo struct lista para apontá-la. O elemento apontado também tem nele um ponteiro próximo que vai apontar para um outro elemento de mesmo tipo e assim consecutivamente quantos elementos quiser que tenha na lista.

Esse seu código está errado por que ele está reservando memória para um elemento com tamanho em bytes 10 vezes maior do que o necessário somente para o próximo elemento da lista que daí sim vai reservar memória para o próximo e assim por diante. Isso se deve ao fato da alocação estar sendo multiplicada por 10. Ao tirar a multiplicação por 10 fica certo.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Visitante
Este tópico está impedido de receber novos posts.

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.