私は、彼らがこのコードはどのような変換をしていますか?
int val[5];
union {
int i;
float f;
} conv;
...
val is updated with some value
...
case OUT_FORMAT_FLOAT:
for (i = 0; i < count; i++) {
conv.f = val[i];
val[i] = conv.i;
}
をintにfloat型から変換しようとしているこのコードは、全体で走ったんだけど、これがどのように動作するかを理解することはできませんよ。 val[i]
はconv.f
に割り当てられ、その後conv.i
はval[i]
にストアバック値に使用されます。 conv
は、f
を使用しているため、ユニオンタイプです。i
は有効な値ではありません。
は、私はここで何かが足りないのですか?
は、私が思うhttp://www.cplusplus.com/doc/tutorial/other_data_types/#unions – hdost