When I read the TCPL by K&R, I just couldn't understand two expressions:
*p++ = val; /*push val onto stack */
Here is my idea:
dereference and postfix has the same precedence, and associativity is right to left,so
*p++ = val
maybe the same with*(p++) = val
, because the pointer usually is the next position to the top , so in this code, p increase 1 first because of the parenthesis, so the p is the two units above the current top ,but not the one unit above the current top ,where the val should be!!! Thx