このタイプのオブジェクトをスタックに作成すると、このオブジェクトのメモリが正しくアライメントされるという保証はありますか? union my_union
{
int value;
char bytes[4];
};
charバイト[4]をスタックに作成して整数にキャストしようとすると、整列の問題が発生する可能性があります。その問題をヒープで作成することで回避できますが、
union test
{
int i;
char ch;
}t;
int main()
{
t.ch=20;
}
と仮定sizeof(int)==2及び2001 、Tに割り当てられたメモリアドレス2000であるせ、次いで20すなわちt.chが格納されている - 2000、2001年またはマシンのエンディアンに依存?
私は、構造体があります。 warning: initialization makes pointer from integer without a cast
warning: initialization from incompatible pointer type
まあ、それはです:gccが私のようないくつかの警告を与える node n1 = {1, 0};
node n2 = {2,