を実行するためにoffsetofは使用して私は、マクロoffsetof()
を使用して構造体memebersをアクセスしてる学ぶしようとしていたと私は、この例How can I access structure fields by name at run time? にこの行を実行しました:ポインタ算術演算の例に
//Set the value of 'a' using pointer arithmetic
*(int *)((char *)structp + offsetf) = 5;
は私に迷惑を与えます。 ポインタをchar *
にキャストしてからint *
に戻すのはなぜですか?
ようこそスタックオーバーフロー。別の質問を参照することは問題ありませんが、私たちが行く必要がなくてもあなたの質問を分かりやすくすることは重要です。私たちは何が起こっているのかを理解するために、コードの断片をもっと見る必要があります。我々は推測できる。私たちはする必要はありません。 MCVE([MCVE])の作成についてお読みください。 –