cpp结构体嵌套结构体

05 结构体嵌套结构体

结构体的成员可以是另外一个结构体。

情景:假设一个一对二的辅导。那么有 1 个老师和2个学生。那么可以创建两个结构体来存储这个数据。

那么我们可以这样试试

#include <iostream>
#include <string>
using namespace std;
struct stu
{
    string name;
    int age;
    int scores;
};
struct tea 
{
    int id;
    string name;
    int age;
    struct stu s1;
    struct stu s2;
};
int main()
{
    struct tea t1 = { 1,"张老师",40,{"张三",18,100},{"李四",19,101} };
    cout << "教师\t\t\t学生1\t\t\t学生2\t\t\t" << endl;
    cout << "教师id\t称呼\t年龄\t学生\t年龄\t分数\t学生\t年龄\t分数\t" << endl;
    cout << t1.id << "\t" << t1.name << "\t" << t1.age << "\t" << t1.s1.name << "\t" << t1.s1.age << "\t" << t1.s1.scores << "\t" << t1.s2.name << "\t" << t1.s2.age << "\t" << t1.s2.scores << endl;
    system("pause");
    return 0;
}

结果:(环境:Windows11 (arm/Apple M VM)/Visual Studio 2022/Debug/arm64)

教师                    学生1                   学生2
教师id  称呼    年龄    学生    年龄    分数    学生    年龄    分数
1       张老师  40      张三    18      100     李四    19      101
请按任意键继续. . .

在结构体上,可以再次嵌套结构体(想嵌套错少都行......)。当然,可以这样赋值:

struct tea t1 = { 1,"张老师",40,{"张三",18,100},{"李四",19,101} };

当然,也可以这样

struct tea t1; 
t1.id = 1;  
t1.name = "张老师";  
t1.age = 40;  
t1.s1.name = "张三";  
t1.s1.age = 18;  
t1.s1.scores = 100;  
t1.s2.name = "李四";  
t1.s2.age = 19;  
t1.s2.scores = 101;  

想要获取结构体里面的结构体,那么就加上. 就可以了。比如上面的例子中,就可以是t1.s2.scores来获取数据。

文章「cpp结构体嵌套结构体」,由本站用户「Admin」发布。文章仅代表Admin观点,不代表本站立场。
页面网页地址「https://xiaozhiyuqwq.top/p/767」。
如您对文章及其附件提出版权主张,或进行引用转载等,请查看我们的【版权声明】
无评论:-)

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇