#include <stdio.h>
int main(int argc, char *argv[]) {
int *pi;
int i = 0;
pi = &i;
/* ポインタ演算は、演算子の優先順位を理解していると分かりやすい
* 以下のサンプルは全て同等
*/
*pi = *pi + 1; /* 1 */
i = 0;
*pi+=1; /* 1 */
printf("%d\n", *pi);
i = 0;
++*pi; /* 1 */
printf("%d\n", *pi);
i = 0;
(*pi)++; /* 1 */
printf("%d\n", *pi);
/* 単項演算子(++,--)は、右から左に解析するので
* 括弧が無いとポインタをインクリメントしてしまう
*/
i = 0;
*pi++;
printf("%d\n", *pi);
}