union 使用

int main()

{

struct {
   char ch2;
   union {
        char ch1;
        char num;
    } bbb;
   
}aaa;
aaa.ch2='a';
aaa.bbb.num='1';

cout<<aaa.ch2<<aaa.bbb.ch1<<aaa.bbb.num;//輸出爲 a 1 1
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////

int main()

{

struct {
   char ch2;
   union {
        char ch1;
        char num;
    } bbb;
   
}aaa;
aaa.ch2='a';
aaa.bbb.num='1';aaa.bbb.ch1='b';
cout<<aaa.ch2<<aaa.bbb.ch1<<aaa.bbb.num;//輸出爲a b b

}

注:sizeof(bbb)=2

 

 

struct {
   char ch2;
   union {
        char ch1;
        int num;
    } bbb;
   
}aaa;
aaa.ch2='a';
aaa.bbb.num=100;aaa.bbb.ch1='b';
cout<<aaa.ch2<<aaa.bbb.ch1<<aaa.bbb.num<<endl;// a b  98
cout<<sizeof(aaa);  //8

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章