Ir para conteúdo
Fórum Script Brasil
  • 0

Problemas com lista em c.


The arlindo

Pergunta

1 resposta a esta questão

Posts Recomendados

  • 0

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).a

Espero que tenha entendido, qualquer coisa posta aí !

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...