メモ:ポインタのインクリメントについて
int *pについて。+は値が1増加したことを示す。はじめのp,p[0],p[1]の値は式の評価時時点での値。その次が評価終了時点での値。
*と++は優先順位が等しい(右から左へ評価される)
| 式 | 評価値 | p | p[0] | p[1] | p | p[0] | p[1] | |
|---|---|---|---|---|---|---|---|---|
| *++p | p[1] | + | - | - | - | - | - | |
| ++*p = ++(*p) | p[0]+1 | - | + | - | - | - | - | |
| *p++ | p[0] | - | - | - | + | - | - | |
| (*p)++ | p[0] | - | - | - | - | + | - | |
| ++*++p = ++(*++p) | p[1]+1 | + | - | + | - | - | - | |
| (*++p)++ | p[1] | + | - | - | - | - | + | |
| impossible | p[1] | + | + | - | - | - | - | |
| impossible | p[1] | + | - | - | - | + | - | |
| ++*p++ = ++(*p++) | p[0]+1 | - | + | - | + | - | - | |
| (*p++)++ | p[0] | - | - | - | + | + | - | |
| impossible | p[0] | - | - | + | + | - | - | |
| impossible | p[0] | - | - | - | + | - | + |