C++ Struct vs Union

🏗️ C++ struct vs union – What’s the Difference?

Both struct and union are used to group variables, but they treat memory very differently. Let’s break it down! 🧠

🧬 Key Differences

  • struct: Each member has its own memory.
  • union: All members share the same memory.
  • struct: Can use all members at the same time.
  • union: Only one member holds a value at a time.
  • struct: Takes more memory.
  • union: Saves memory – useful in embedded systems or when space matters!

🔧 Example: struct

#include <iostream>
using namespace std;

struct Person {
    int age;
    float height;
};

int main() {
    Person p;
    p.age = 25;
    p.height = 5.9;

    cout << "Age: " << p.age << endl;
    cout << "Height: " << p.height << endl;
    return 0;
}
  

Try It Now

🔧 Example: union

#include <iostream>
using namespace std;

union Data {
    int i;
    float f;
};

int main() {
    Data d;
    d.i = 10;
    cout << "Int: " << d.i << endl;

    d.f = 3.14;
    cout << "Float: " << d.f << endl;

    // Note: d.i is now overwritten!
    return 0;
}
  

Try It Now

🧠 Memory Trick

  • struct = multi-room apartment 🏢
  • union = single-room tent 🏕️

✅ When to Use?

  • Use struct: When you need to store and access multiple values at once.
  • Use union: When only one value is needed at a time to save memory.