Nested Structures

Nested structures in C++ are structures that contain another structure as a member. They help organize complex data in a more structured and meaningful way.

What are Nested Structures?

A nested structure is a structure inside another structure.

This allows related information to be grouped together in a hierarchical form.

Why Use Nested Structures?

Nested structures are useful because they:

  • Organize complex data efficiently
  • Improve code readability
  • Represent real-world relationships
  • Reduce code complexity

Syntax of Nested Structures

struct Structure1 {
// members
};

struct Structure2 {
Structure1 object;
};

Example of Nested Structures

#include <iostream>
using namespace std;

struct Address {
string city;
string country;
};

struct Student {
string name;
int age;
Address addr;
};

int main() {

Student s1;

s1.name = "Ali";
s1.age = 20;

s1.addr.city = "Lahore";
s1.addr.country = "Pakistan";

cout << s1.name << endl;
cout << s1.age << endl;
cout << s1.addr.city << endl;
cout << s1.addr.country << endl;

return 0;
}

Output

Ali
20
Lahore
Pakistan

How Nested Structures Work

  • One structure is created first
  • Another structure includes it as a member
  • Members are accessed using multiple dot operators

Accessing Nested Structure Members

s1.addr.city

Here:

  • s1 → structure object
  • addr → nested structure member
  • city → member inside nested structure

Another Example

#include <iostream>
using namespace std;

struct Engine {
int horsepower;
};

struct Car {
string name;
Engine eng;
};

int main() {

Car c1;

c1.name = "Toyota";
c1.eng.horsepower = 150;

cout << c1.name << endl;
cout << c1.eng.horsepower << endl;

return 0;
}

Advantages of Nested Structures

  • Better data organization
  • Easy management of related data
  • Improved readability
  • Supports complex applications

Real-Life Example

Think of a student record:

Student information:

  • Name
  • Age

Address information:

  • City
  • Country

Instead of mixing all data together, nested structures organize it properly.

Nested Structures with Arrays

Nested structures can also be used with arrays.

Student students[5];

Important Points

  • Structures can contain other structures
  • Access uses dot (.) operator multiple times
  • Helps in managing hierarchical data
  • Widely used in databases and applications

Why Nested Structures are Important

Nested structures are important because they:

  • Improve program structure
  • Represent real-world data accurately
  • Simplify complex data handling
  • Make programs easier to maintain

Conclusion

Nested structures in C++ allow one structure to contain another structure, making data organization more efficient and structured. They are widely used in real-world applications where related information needs to be grouped logically and clearly.

Home » Intermediate C++ > Structures and Enums > Nested Structures