C++学習ノート---共同体と構造体

852 ワード

共同体(union)と構造体(struct)の違いについて:
1.共通体および構造体は、複数の異なるデータ型メンバーで構成されているが、同じ時点においても、共通体は選択されたメンバーを1つだけ保持し、構造体のすべてのメンバーが存在する.
2.共有体の異なるメンバーに対して値を割り当てると、他のメンバーに対して書き換えられ、元のメンバーの値は存在せず、構造体の異なるメンバーに対して値を割り当てることは互いに影響しません.
サンプルコードは次のとおりです.
a)構造体:
#include 

int main() {

    struct Data {
    	int i;
    	char c;
    } data;

    data.i = 5;
    data.c = 'a';
    std::cout << data.i << '
' << data.c << std::endl; return 0; }

出力:
5
a
2)共同体:
#include 

int main() {

    union Data {
    	int i;
    	char c;
    } data;

    data.i = 5;
    data.c = 'a';
    std::cout << data.i << '
' << data.c << std::endl; return 0; }
出力:
97
a