私はテストのために勉強している途中で、いくつかの練習問題を解決しようとしています。私はこれにしばらく取り組んできましたが、理解できません。コードフラグメントを見てください:
union {
int i;
short x;
unsigned short u;
float f;
} testout;
testout.i=0xC0208000;
質問する前に、誰かが上記のコードがどのように機能するかを説明してもらえますか?私の推測ではtestout.i=0xC0208000
、int、short、unsigned short、またはfloatのいずれかを配置し、結果をそのアドレスに配置します。(?)
問題は、私たちが書くと何が印刷されるかということprintf("%d", testout.x)
です。数字を期待する必要があることはわかっていますが、どこから数字を取得しているのかわかりません。出力がありません。
説明をいただければ幸いです。ありがとう!