今回は、共用体について説明していきます。
#include <stdio.h>
/* 共用体のdataを宣言 */
union data{
unsigned int ui;
unsigned short us;
unsigned char uc;
};
void main(void) {
union data d;
d.ui = 0x12345678;
printf("0x%x\n", d.ui); // 出力=0x12345678
printf("0x%x\n", d.us); // 出力=0x5678
printf("0x%x\n", d.uc); // 出力=0x78
}
共用体を宣言しています。
/* 共用体のdataを宣言 */
union data{
unsigned int ui;
unsigned short us;
unsigned char uc;
};
共用体は、共用体内で宣言されたデータ領域を共有します。
この場合は、unsigned int で4バイト確保し、unsigned short は、
unsigned int の下位2バイトに割り当てられ、unsigned charは、
unsigned int の下位1バイトに割り当てられる事になります。
共用体は、普通のプログラミングに使う機会は少なく、
特殊な用途として用いられます。