私は次のCコードを持っていて、それを理解しようとしています。
char buffer[128];
A* a = (A*) &buffer[sizeof(A*)];
最初、私はこれでこれをやろうとしていましたが、A* a = (A*) buffer[sizeof(A*)];
これは私に警告を与えます、そしてそれはこれが実際に私にcharを与えてsizeof(A*)
それをキャストするからだと思いますか?&
もう1つの混乱は、バッファがすでに配列の最初の要素へのポインタであるため、にキャストするポインタを取得するために演算子が必要な理由ですA*
。誰かが私がこのコードを理解するのを手伝ってもらえますか?
ありがとう!