目次から探す
共用体の初期化方法
共用体の初期化方法には、以下の2つの方法があります。
1. メンバーの初期化
共用体のメンバーを個別に初期化する方法です。
各メンバーに対して、適切な値を代入することで初期化を行います。
2. 全体の初期化
共用体全体を一度に初期化する方法です。
共用体の宣言時に、初期化する値を指定することで初期化を行います。
メンバーの初期化
メンバーの初期化では、各メンバーに対して個別に初期値を代入します。
以下に例を示します。
#include <stdio.h>
union MyUnion {
int num;
float f;
char str[10];
};
int main() {
union MyUnion u;
u.num = 10;
printf("num: %d\n", u.num);
u.f = 3.14;
printf("f: %f\n", u.f);
strcpy(u.str, "Hello");
printf("str: %s\n", u.str);
return 0;
}
上記の例では、共用体MyUnion
のメンバーであるnum
、f
、str
を個別に初期化しています。
num
には整数値10を代入し、f
には浮動小数点数3.14を代入し、str
には文字列Hello
を代入しています。
それぞれのメンバーにアクセスする際には、共用体の型に応じたメンバーを使用します。
全体の初期化
全体の初期化では、共用体全体を一度に初期化します。
以下に例を示します。
#include <stdio.h>
union MyUnion {
int num;
float f;
char str[10];
};
int main() {
union MyUnion u = { .num = 10 };
printf("num: %d\n", u.num);
return 0;
}
上記の例では、共用体MyUnion
の宣言時に初期化する値を指定しています。
num
には整数値10を指定しています。
このように、共用体全体を一度に初期化する場合は、中括弧{}
内に初期化する値を指定します。