Nested structures let you put one structure inside another. This helps organize related data clearly, like putting a smaller box inside a bigger box.
0
0
Nested structures in C++
Introduction
When you want to group related information inside a bigger group, like an address inside a person.
When you need to keep data organized in layers, such as a date inside an event.
When you want to reuse a smaller structure inside many bigger structures.
When you want to make your code easier to read by showing relationships between data.
Syntax
C++
struct Outer {
int id;
struct Inner {
int value;
} inner;
};You define a structure inside another by writing one struct inside another.
The inner structure becomes a member of the outer structure and can be accessed using the dot operator.
Examples
This example shows a
Person structure with a nested Address structure inside it.C++
struct Person {
struct Address {
int houseNumber;
char street[50];
} address;
char name[50];
};Here,
Date is a separate structure used inside Event to store the event's date.C++
struct Date {
int day;
int month;
int year;
};
struct Event {
char title[100];
Date eventDate;
};Shows how to access and set values in nested structures using the dot operator.
C++
struct Outer {
int id;
struct Inner {
int value;
} inner;
};
Outer o;
o.id = 1;
o.inner.value = 10;Sample Program
This program creates a Person with a nested Address. It sets the name and address, then prints them.
C++
#include <iostream>
#include <cstring>
struct Person {
struct Address {
int houseNumber;
char street[50];
} address;
char name[50];
};
int main() {
Person p;
std::strcpy(p.name, "Alice");
p.address.houseNumber = 123;
std::strcpy(p.address.street, "Maple Street");
std::cout << "Name: " << p.name << "\n";
std::cout << "House Number: " << p.address.houseNumber << "\n";
std::cout << "Street: " << p.address.street << "\n";
return 0;
}OutputSuccess
Important Notes
You access nested structure members by chaining the dot operator, like outer.inner.member.
Nested structures help keep related data together and make your code easier to understand.
Summary
Nested structures let you put one structure inside another to organize data.
Use the dot operator to access inner structure members.
This helps keep your code clean and data grouped logically.