#C 言語の Union は、異なるデータ型を同じメモリ位置に格納できるようにする特別なデータ型です。 Union を使用すると、メモリ領域を節約し、異なるデータ型間の変換が容易になります。 1. 共用体の定義: C 言語では、キーワード Union を使用して共用体の型を定義できます。共用体は構造体と同様に定義されますが、共用体のすべてのメンバーは同じメモリ空間を共有します。 Union の構文は次のとおりです。C 言語における Union の使用法は、異なるデータ型を同じメモリ位置に格納できるようにする特別なデータ型です。Union を使用すると、メモリ領域を節約し、異なるデータ型を簡単に格納できます。型間で変換します。 Union を使用する場合は、対応するメンバーが有効であり、同時にアクセスできるメンバーは 1 つだけであることに注意する必要があります。
union union_name { member_type member1; member_type member2; // ... };このうち、union_name はユニオンの名前、member_type はメンバーのデータ型、member1、member2 などはユニオンのメンバーです。 例:
union Data { int i; float f; char str[20]; };2. 共用体メンバーへのアクセス: ドット演算子 (.) を使用して共用体のメンバーにアクセスできます。共用体のメンバーは同じメモリ空間を共有するため、同時にアクセスできるメンバーは 1 つだけです。共用体メンバーにアクセスするための構文は次のとおりです。
union_name.member_name例:
union Data data; data.i = 10; printf("data.i = %d\n", data.i); data.f = 3.14; printf("data.f = %f\n", data.f); strcpy(data.str, "Hello"); printf("data.str = %s\n", data.str);上記の例では、Data という名前の共用体を定義し、data という名前の変数を作成します。 data.i、data.f、data.str を通じて Union のさまざまなメンバーにアクセスできます。 3. 共用体のサイズ: 共用体のサイズは、その最大のメンバーのサイズによって異なります。共用体のすべてのメンバーは同じメモリ空間を共有するため、共用体のサイズは最大のメンバーを収容できるほど大きくすることができます。 例:
union Data { int i; float f; char str[20]; }; printf("sizeof(union Data) = %lu\n", sizeof(union Data));上記の例では、sizeof 演算子を使用してユニオン データのサイズを取得します。通常、float 型のサイズは int および char 配列のサイズよりも大きいため、union Data のサイズは float のサイズと等しくなります。 4. ユニオンの適用: ユニオンは次のような状況でよく使用されます: - メモリ領域の節約: 複数のメンバーのうち 1 つだけを使用する場合、次のことが可能です。メモリ領域を節約するには、union を使用します。 - 型変換: 整数から浮動小数点数への変換、浮動小数点数から文字配列への変換など、さまざまなデータ型間の変換に Union を使用できます。 例:
union Convert { int i; float f; }; union Convert convert; convert.i = 10; printf("convert.i = %d\n", convert.i); printf("convert.f = %f\n", convert.f); convert.f = 3.14; printf("convert.i = %d\n", convert.i); printf("convert.f = %f\n", convert.f);上の例では、int 型のメンバー i と float 型のメンバー f を含む Convert という名前の共用体を定義します。共用体の 1 つのメンバーを変更すると、別のメンバーの対応する値を取得できるため、型変換が実現します。 union のメンバーは同じメモリ空間を共有するため、union を使用するときは注意する必要があることに注意してください。 1 つのメンバーの値を変更すると、他のメンバーの値は上書きされます。したがって、union を使用する場合は、対応するメンバーが有効であること、および同時に 1 つのメンバーのみにアクセスできることを確認する必要があります。 要約すると、C 言語の Union は、異なるデータ型を同じメモリ位置に格納できるようにする特別なデータ型です。共用体を定義し、そのメンバーにアクセスすることで、メモリ領域を節約し、異なるデータ型間で変換できます。 Union を使用する場合は、対応するメンバーが有効であり、同時にアクセスできるメンバーは 1 つだけであることに注意する必要があります。
以上がC言語でのユニオンの使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。