Pointer strange behavior

Hello
I have this simple sketch

char A = 49;
char * ptr = &A; 

void setup() 
{                
Serial.begin(9600);
Serial.println(A);
}
void loop() 
{
*ptr++;
Serial.print(A);

delay(1000);
}

The pointer variable ptr points to variable A, so ptr have the address of A using &A.
So I suppose when I increment pointer using *ptr++ ( pointed by ptr) I will increment char A indirectly.
Well I can't figure out what is happen here since the output is always 1 ( 49 in Decimal)

(*ptr)++;
(*ptr)++;

It works but can you explain me why does I need the parenthesis?
Wasn't suppose to increment it that way?
What I'm increment then using *ptr++ , his address?

Operator precedence. You are incrementing what the pointer points to, without the brackets.

You are incrementing the pointer (I got that wrong).

Thus it is fairly normal to write:

foo = *ptr++;

That gets the current contents of ptr into foo, and then increments ptr.