Go Down

Topic: Será que aqui alguém me ajuda ?!!! (Read 5 times) previous topic - next topic

HugoPT

#15
Jan 27, 2013, 02:57 pm Last Edit: Jan 27, 2013, 03:07 pm by HugoPT Reason: 1
Quote
Mas a minha questão era, com os parêntesis tu incrementas o endereço, sem parêntesis tu incrementas o apontado por esse endereço.

Penso que estas errado.Com ou sem parentises o resultado é o mesmo.Tudo devido a precedencia.
O sufixo ++ tem mais precedencia que o ponteiro, logo primeiro o endereço do ponteiro é incrementado e depois o seu valor é que usado pelo ponteiro.
Ja testei no codigo é o resultado é igual com ou sem parentises o que comprova.
O que eu pretendo mesmo é incrementar o endereço a cada ciclo do for.
Para incrementar o apontado por code teria de ficar (*code)++ para ignorar a precedencia do ++ e avaliar primerio o apontado por code e incrementa-lo a seguir.
Corrige me se estou errado, isto dos ponteiro é sempre um novelo  :D
Prova:
Code: [Select]
char A[] = {49,50,51,52};
char * ptr = A;
void setup()
{               
Serial.begin(9600);
Serial.println(A);
}
void loop()
{
*ptr++;//Incrementa o endereço primeiro e depois usa o ponteiro
Serial.print(*ptr);//Imprime o conteudo do apontado por ptr
delay(1000);
}

A output deste codigo é:
1234
234
Debian,Mint,Ubuntu
Arduino Mega 2560
Arduino Nano
Arduino Duemilanove
MAC OS Montain Lion
Raspberry PI Model B

Go Up