:(
int main()
{
int x=0, *p;
clrscr();
p=&x; /* inicializa a variável ponteiro com endereço de x */
*p=*p + (*p)++; /*Faz o incremento de *p */
printf ("O incremento de *p e: %d",*p);
return (0);
}
O programa acima, tem como objetivo, incrementar a variável ‘p’. Ok, ele incrementa, e tem como resultado 1. 1 ) O que eu queria entender, é porque tenho que escrever (*p)++; e ao invés de *(p)++; ? se eu fizer isso dá errado. Entretanto, se eu fizer isso com matrizes, da certo. Ex. *(matriz + 2); 2) Sabendo, queendereço de memória só permite inteiros sem sinal, posso fazer a operação acima com outros tipos de dados ? Obrigado,.