当前位置:首页 C++ > 正文

C++结构体嵌套结构体数组

作者:野牛程序员:2023-08-04 09:12:07 C++阅读 2640

在 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;
}

在上述示例中,定义了两个结构体:AddressPersonAddress 结构体表示地址信息,包含一个整数变量 streetNumber 和一个字符串变量 cityPerson 结构体表示人员信息,包含一个字符串变量 name、一个整数变量 age,以及一个嵌套的 Address 结构体数组 addresses

main() 函数中,创建了两个 Person 结构体实例 person1person2,并初始化它们的成员。然后,通过访问嵌套结构体数组的成员,输出每个人员的信息及其地址信息。

运行上述代码将输出以下内容:

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
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击