C++结构体嵌套结构体数组
作者:野牛程序员:2023-08-04 09:12:07 C++阅读 2985
在 C++ 中,可以在结构体中嵌套结构体数组。下面是一个示例代码:
#include <iostream>
struct Address {
int streetNumber;
std::string city;
};
struct Person {
std::string name;
int age;
Address addresses[2]; // 嵌套的 Address 结构体数组
};
int main() {
Person person1 = {
"John",
30,
{{123, "New York"}, {456, "San Francisco"}}
};
Person person2 = {
"Alice",
25,
{{789, "London"}, {101, "Paris"}}
};
// 输出 person1 的信息
std::cout << "Person 1:" << std::endl;
std::cout << "Name: " << person1.name << std::endl;
std::cout << "Age: " << person1.age << std::endl;
std::cout << "Address 1: " << person1.addresses[0].streetNumber << " " << person1.addresses[0].city << std::endl;
std::cout << "Address 2: " << person1.addresses[1].streetNumber << " " << person1.addresses[1].city << std::endl;
std::cout << std::endl;
// 输出 person2 的信息
std::cout << "Person 2:" << std::endl;
std::cout << "Name: " << person2.name << std::endl;
std::cout << "Age: " << person2.age << std::endl;
std::cout << "Address 1: " << person2.addresses[0].streetNumber << " " << person2.addresses[0].city << std::endl;
std::cout << "Address 2: " << person2.addresses[1].streetNumber << " " << person2.addresses[1].city << std::endl;
return 0;
}在上述示例中,定义了两个结构体:Address 和 Person。Address 结构体表示地址信息,包含一个整数变量 streetNumber 和一个字符串变量 city。Person 结构体表示人员信息,包含一个字符串变量 name、一个整数变量 age,以及一个嵌套的 Address 结构体数组 addresses。
在 main() 函数中,创建了两个 Person 结构体实例 person1 和 person2,并初始化它们的成员。然后,通过访问嵌套结构体数组的成员,输出每个人员的信息及其地址信息。
运行上述代码将输出以下内容:
Person 1: Name: John Age: 30 Address 1: 123 New York Address 2: 456 San Francisco Person 2: Name: Alice Age: 25 Address 1: 789 London Address 2: 101 Paris
这样就可以在结构体中嵌套结构体数组,用于表示更复杂的数据结构。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892

- 上一篇:C++怎么输出结构体数组
- 下一篇:C++结构体转char数组
