Cプログラムでの共用体の値の設定方法は何ですか?

C言語では、共用体の値を以下の方法で設定することができます:

  1. 点操作子(.)を使用して値を割り当てます:指定された共用体メンバーの名前に値を割り当てます。例:
  2. union myUnion {
    int i;
    float f;
    };union myUnion u;
    u.i = 10; // unionのメンバiに値を代入
    u.f = 3.14; // メンバfに値を代入しても、全体のunionの値が変更されます。
  3. =演算子を使用すると、union全体の値を、同じメンバー型を持つ別のunionの値に置き換えることができます。例えば:
  4. 組合体myUnion{
    int i;
    float f;
    };組合体myUnion u1;
    組合体myUnion u2;

    u1.i = 10;
    u2 = u1; // u1の値をu2に代入

  5. memcpy関数を使用して、1つの共用体の値を別の共用体にコピーします。例えば:
  6. #includeunion myUnion {
    int i;
    float f;
    };

    union myUnion u1;
    union myUnion u2;

    u1.i = 10;
    memcpy(&u2, &u1, sizeof(union myUnion)); // u1の値をu2にコピーします。

連合体のメンバーは同じメモリ空間を共有しているため、1つのメンバーに値を代入すると他のメンバーにも影響が及びます。不確定な動作を避けるために、連合体の1つのメンバーに値を代入する前に、他のメンバーの値を読み取るか初期値を与えることを確認してください。

bannerAds