• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

so_simple

Dúvida parva com listas e apontadores

5 mensagens neste tópico

Eu tenho 2 listas e 2 apontadores para as listas.

o que eu quero fazer é uma funcao para simplesmente mudar um nodo de uma lista para outra e "retornar" as cabecas das 2 listas.

Como é que altero os ponteiros passados para a funcao?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Como alteras os apontadores? Não percebi a dúvida...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ex:

main(){
lista *A=NULL, *B=NULL;

mudar_nodo(A,B);

}

void mudar_nodo(lista *A, lista *B){...}

agora como mudo na funcao o valor do apontador da main??

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

mudar_nodo(A,B);
   lista *TMP;

   TMP = A;
   A = B;
   B = TMP;
}

Não percebi lá muito bem o problema e apontadores não é o meu forte, mas será que isto não serve?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se queres criar as listas na função e devolvê-las, tens que passar à função apontadores para apontadores:

main(){
lista *A=NULL, *B=NULL;

mudar_nodo(&A, &B);

}

void mudar_nodo(lista **A, lista **B){
*A = (lista *)malloc...;
*B = (lista *)malloc...;
...
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora