Consider:
void foo1(char **p) { *p++; } void foo2(char **p) { *p += 1; }
and
char *s = \"abcd\"; char *a = s; foo1(&a)
Precedence of prefix ++ and * is same. Associativity of both is right to left. Precedence of postfix ++ is higher than both * and prefix ++. Associativity of postfix ++ is left to right.