ここに私が理解できない小さなコードがあります
int x=30, *y, *z;
y=&x;
z=y;
//y++ = z++;
//*y++ = *z++;
x++;
printf("x=%p, y=%p, z=%p y=%p\n ", &x, y,z,y++);
return 0;
これらの疑問は私を悩ませています:
なぜ有効(z++ = y++;)
な割り当てが無効なのか(z = y)
. この割り当て(*y++ = *z++)
はどういう意味ですか?
さらに、このプログラムを実行すると、次の出力が得られます。
x = 0028FF04 , y = 0028FF08, z = 0028FF04 y = 0028FF04
私の予想は
x = 0028FF04 , y = 0028FF04, z = 0028FF04 y = 0028FF08