Es geht um Operatorenprioritäten. -- hat eine höhere Priorität als der Dereferenzierungs-Operator (*), die Binäre Subtraktion - wird allerdings erst nach dem * ausgewertet.
Sprich hier wie der Parser deine Ausdrücke interpretiert:
Code:
*(p)--
wird zu
*(p--)
*p = *p - 1
hingegen zu
(*p) = ((*p) - 1)
hier findest du (nach unten scrollen oder nach "priority" suchen) die Operator-Prioritäten, in welcher Reihe sie ausgewertet werden
greetz
Mike