union 聯合體

Wzline發表於2024-07-15

是什麼:
聯合體一次只能佔用一個一個成員大小,比如在裡面宣告四個int實際union也只有4個位元組;共用記憶體空間
是按成員分配的類和結構體也算成員 聯合體的大小最小是 最大成員大小
注意:
聯合體通常匿名使用,匿名使用聯合體 不能有成員函式

struct vector2
  {
     float x,y;
   }
struct vector4
   {
    union
   {
     struct
     {
      float x,y,z,w;  
      }
     struct
     {
        vector2 a,b;//a和x y的記憶體相同 b和zw的記憶體相同
      }
  }
}
int main()
{
 vector4 vector={1.0f,2.0f,3.0f,4.0f};
   vector.a//若列印會呈現出1 2

}

相關文章