Ir para o conteúdo
so_simple

Dúvida parva com listas e apontadores

Mensagens Recomendadas

so_simple    0
so_simple

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?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
so_simple    0
so_simple

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??

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Nazgulled    8
Nazgulled

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?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
TheDark    0
TheDark

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...;
...
}

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


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade