ええと、私はこの答えを真剣に必要としているわけではありません。私はただ好奇心旺盛です。
のような式*ptr++ = a
は完全に有効です。なぜなら、2 つのオブジェクトを操作しているからptr
です。*ptr
*ptr++ = *ptr + a
たとえば、次のスニペットを考えてみましょう。
int main(void){
int a[] = {5,7,8,9,2};
int* p =a;
*p++ = 76; /*altering the first element */
*p++ = *p + 32; /*altering the second element */
p = a;
int i;
for(i = 0;i<5; i++)
printf("%d ",*p++);
return 0;
}
式に関して心配することは何もないと思いますが、関係する*p++ = *p + 32;
シーケンス ポイントについてはわかりません。