Listas encadeadas [RESOLVIDO]

13. Re: Listas encadeadas [RESOLVIDO]

Templary
ic0158040

(usa KUbuntu)

Enviado em 05/10/2008 - 23:17h

ahhh, sim!acho que entendi.
o problema não está no cast em si, mas nele estando no meu código híbrido.

a dúvida surgiu, pq o meu professor de estrutura havia me ensinado daquela forma (com cast) e até agora nunca havia dado defeito isso.

mas o que vcs dizem faz sentido. vou tentar implementar da forma que disseram e analizar.

valeu pelas dicas! retornarei o resultado;

ahhhh excelente a comparação com o deserto! hauhauahauhauauhauahauhauhaauhauhauh

soh mais uma. vcs tocaram no gdb. como utilizá-lo?

eu uso um debugger, mas é do windows. queria saber se me indicam um tutorial ou algo assim... prático.

abs aew!


  


14. Re: Listas encadeadas [RESOLVIDO]

Marcelo A. B. Slomp
mslomp

(usa Slackware)

Enviado em 06/10/2008 - 10:58h

bem, numa pesquisada rápida aqui no vol mesmo, encontrei esses 2 artigos sobre o gdb (copie e cole, alguns links estão saindo incompletos aqui no vol)
http://www.vivaolinux.com.br/artigo/Apreendendo-a-utilizar-o-GNU-Debugger-(parte-1)
http://www.vivaolinux.com.br/artigo/Apreendendo-a-utilizar-o-GNU-Debugger-(parte-2)

as informações são básicas, focando apenas alguns dos comandos mais comuns do gdb. para aprofundar-se no assunto, dê uma olhada no manual do gdb, bem como em alguns tutoriais que existem por aí.
manual do gdb:
http://www.gnu.org/software/gdb/documentation
um bom tutorial prático para começar:
http://www.unknownroad.com/rtfm/gdbtut/gdbtoc.html

há alguns front-ends para o gdb, como o ddd e o insight, mas antes de utilizá-los é ideal que você domine ao menos o essencial do gdb via linha de comando mesmo.

só um adendo, voltando ao assunto sobre os void*
coincidentemente, o mesmo autor dos artigos sobre o gdb aqui no vol também escreveu uma série justamente sobre os ponteiros void:

http://www.vivaolinux.com.br/artigo/Ponteiros-void-na-linguagem-C
http://www.vivaolinux.com.br/artigo/Ponteiros-void-na-linguagem-C-(parte-2)


15. função incialiszaLista

Leandro Santiago de Souza
leandro.diadema

(usa Slackware)

Enviado em 18/02/2009 - 12:55h

To atrazado, mas óh ...
Eu não li o código todo e nem todas as respostas aqui do tópico, só que achei um erro da função "void inicializaLista ()", seguinte:

Você declarou uma variável do tipo Lista

Lista teste ;

E depois você chama a função "inicializaLista"

inicializaLista(teste);

Você passa a variável "teste", porém a função espera um ponteiro para uma variável do tipo Lista

void inicializaLista(Lista &L) {

E depois outro erro é chamar os dados da struct Lista assim

L.Prim = -1 ;

Se você esperava um ponteiro, essa linha deveria ser escrita assim: "L->Prim = -1;". Mas para não causar mais problemas, a correção do primeiro problema corrige esse segundo que citei. Só precisa que a função "inicializaLista ()" não espere um ponteiro para Lista.
Alterar essa linha:

void inicializaLista(Lista &L) {

Por essa:

void inicializaLista(Lista L) {

Espero ter ajudado, mesmo que bastante atrazado!!! =]
Qualquer coisa estamos aqui pra isso.

Fechou!?!?


16. Retificando

Leandro Santiago de Souza
leandro.diadema

(usa Slackware)

Enviado em 19/02/2009 - 10:12h

Opa!
Só pra corrigir a confusão que eu fiz aí em cima ontem ...

Bom, você quer fazer uma função para iniciar as informações de uma variável, então você deve passar o endereço da variável para a função e a função deve pegar através de um ponteiro, assim óh:

Lista teste; /* declaração da variável */
inicializaLista (&teste); /* Passando o endereço da variável "&" */
... enquanto isso, na própria função ...
void inicializaLista (Lista *L) {
... e ao utilizar o ponteiro "L", seta ao invés de ponto ...
L->Prim = -1;

Pronto, agora sim fechou!!!



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts