Ir ao conteúdo
  • Cadastre-se

Incrementando um ponteiro, tem diferença?


Posts recomendados

No caso abaixo:

int a = 10;

int *p =&a;

p++;

printf ("%d", p);

*p++;

printf ("%d",p);

 

Percebi que ambos incrementos, mesmo que escritos de formas diferentes, fazem a mesma coisa, (adicionam 4, que é o valor de 1 byte, no endereço de memoria). Porque isso é acontece? *p++ e p++ não tem diferença mesmo?

 

Link para o comentário
Compartilhar em outros sites

claro que sim! Quando você faz *p++ você esta incrementando a, e quando você faz p++ você ta incrementando 4 bytes. E esse programa seu é um bug enorme. primeiro você incrementa o ponteiro, e esse ponteiro aponta sei lá que, dai você pega e modifica a memória errada. Conclusão... bug.

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...