「ポインタのキャスト」の代わりに使うことは可能ですし、ポインタの代入という余計な処理が発生しない分、頻繁に繰り返される処理なら速度にもある程度違いは出てくる可能性はありますね。 例えば int32_t foo = 123456; unsigned char* p = (char*)&foo; // pを利用してバイナリダンプを取れる などとして、整数型のバイナリダンプを処理するような場合であれば union { __int32_t int_val; __unsigned char byte_array[4]; } conv; conv.int_val = 123456; // conv.byte_arrayでバイナリダンプを取れる のようにすれば処理的には同等です。 この例のように単発なら処理速度はほとんど変わりませんが、これを頻繁に繰り返すならある程度は違ってくるでしょうね。 #まあコン