union のサンプルコード | 共用体に代入する

共用体とは構造体に似ていますが、性質は異なります。共用体はメンバがメモリを共有します。よってあるメンバに値を代入すると、他のメンバも上書きされます。

これは同時に複数のメンバの値が使用されないこと仕様の場合、メモリを節約するために使用するためです。

この例ではメンバ y に値を代入すると、メンバ x が上書きされることを確認するサンプルです。

スポンサーリンク

Visual C++ 向けサンプルコード

//共用体の宣言のサンプルプログラム
//あるメンバに値を代入すると、他のメンバが上書きされることを確認する
#include<string.h>
#include <stdio.h>
int main()
{
//共用体の宣言
union {
int x;
int y;
}unionTest;
unionTest.x=1;
unionTest.y=2;
// xは1のはずですが 2 で上書きされていることが分かります。
printf("%d %d",unionTest.x, unionTest.y);
return 1; }

スポンサーリンク



[Visual C++ サンプルコード | 即戦力ソース集に戻る]

本サンプルコードではエラー処理を省略している場合があります。実践で使用する場合はエラー処理が必要となる場合があります。