共用体

C

共用体とは、1つのアドレスに異なるデータを割りあてることです。

共用体は、1つのメモリ領域で異なる型の変数のどれかひとつを選んで使うことができます。
共用体の宣言は以下のようになります。

//「uniondata」は共用体名、「unilist1」は共用体変数
union uniondata{
    int no;
    char name[10];
    float weight;
};
union uniondata unilist1;

共用体を使ったサンプルを試してみます。

#include <stdio.h>

int main(void)
{

	//「uniondata」は共用体名、「unilist1」は共用体変数
	union uniondata{
	    int no;
	    char name[10];
	    float weight;
	};
	union uniondata unilist1;


	unilist1.no = 1;
	printf("%d\n", unilist1.no);
	
	strcpy(unilist1.name, "test!!");
	printf("%s\n", unilist1.name);
	
	unilist1.weight = 123.4;
	printf("%f\n", unilist1.weight);

	//結果以下のように表示されました
//1
//test!!
//123.400002

	return 0;
}

unilist1がメモリに占める領域は一番大きな型にあわせた大きさになる。
共用体はまだまだ深いので、改めて追記して理解を深めることにします。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です