Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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.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.
você aloca o próximo nó e atribui à variável próximo do nó anterior.