The arlindo Postado Outubro 19, 2009 Denunciar Share Postado Outubro 19, 2009 salve salve amigos do forum..queria saber a diferenca entre a -> e o * nesse código alguém pode me ajudar? Verificar se uma lista está vaziaint vazia (tp_lista L) { return (L.n == 0);} Criar uma lista vaziavoid criar (tp_lista *L) { L->n = 0;} Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jonathan Queiroz Postado Outubro 19, 2009 Denunciar Share Postado Outubro 19, 2009 Seria a diferença entre o operador -> e o * ?Basicamente, o operador * quando unário é para a utilização de ponteiros.Então essa linha:void criar (tp_lista *L) Está indicando a função criar com um ponteiro para uma variável do tipo tp_lista. Ou seja, não é passado uma cópia da variável e sim um ponteiro para ela Já o operador -> é como um apontador. Não é algo muito fácil de explicar em poucas linhas, mas vou tentar. Se você tem um objeto obj de uma classe X você pode referenciar o atributo a dessa forma: obj.a Mas se você tem um ponteiro p para um objeto obj você tem que fazer assim: (*p).a Note a necessidade dos parênteses. Isso ocorre por causa da precedência de caracteres. Observer que essa sintaxe não é muito amigável, fica "feio" escrever várias linhas de código assim. Então foi criado o operador ->. Qualquer código: p->a Pode ser substituído por: (*p).aEspero que tenha entendido, qualquer coisa posta aí ! Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
The arlindo
salve salve amigos do forum..
queria saber a diferenca entre a -> e o * nesse código alguém pode me ajudar?
Verificar se uma lista está vazia
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.