プログラミング C言語 復習 共用体 エンディアン
共用体とか、エンディアンとか、とかとか...
#include <stdio.h> union Value{ unsigned char chValue; int iValue; }; int main (void) { union Value u; u.iValue = 0xAABBCCDD; printf("sizeofint = %d\n",sizeof(int)); printf("chValue = %08X\niValue = %08X\n",u.chValue,u.iValue); u.chValue = 0xFF; printf("chValue = %08X\niValue = %08X\n",u.chValue,u.iValue); return 0; }
sizeofint = 4
chValue = 000000AA
iValue = AABBCCDD
chValue = 000000FF
iValue = FFBBCCDD
メモリを共有しているから、もちろんこういう実行結果になる。