私はいくつかのCコードを調べていて、この構文に出くわしました:
uint16 a;
unsigned char *b;
//b is initilized elsewhere before the next line gets called
((unsigned char*) &a)[0] = b[0];
それは私が得られない最後の行です。uint16 のアドレスを unsigned char に型キャストします。どうしてこれなの?&a のアドレスが 8 バイトを超える可能性があります。また、等号の左側にある [0] は何ですか?