结构体笔记(结构体嵌套)

1.嵌套方式一(先声明再嵌套)

struct score{
int math;
int English;
int cpp;
}

struct student {
char name[10];
int age;
struct score data;

}

上面是将成绩数据作为一个结构体封装,嵌套在学生信息这个数据结构体之中,注意嵌套在里面的结构体一定要在外层的结构体之前。

下面是引用方式和初始化,其实很简单

struct student studata;//在主函数里面前面的就不写了
studata.data.math=100;
studata.data.English=100;
studata.data.cpp=100;//或者在一条语句中实现,struct student studata={100,100,100};

2.嵌套方式二(直接嵌套)

struct A{
int a;
struct B{
  int b;
  }variable;
};

这里我们直接在结构体A中嵌套了一个结构体B,并且直接声明了一个名字为variable的变量(struct B 是类型,variable是变量名称)那么我们对这个结构体进行一个测试,看一下作为嵌套在内部的结构体B能否继续用它来创建一个新的变量,给他们里面的数据进行赋值初始化

void test(){
struct A a1;
a1.a=0;//对 int a 赋值
a1.variable.b=1;//对a1里面的variable变量里面的int b赋值
struct B bb;//bb是一个新的结构体变量
bb.b=12;//这是对里面的int b数据进行赋值
}

编译没有出现问题说明这样是可以的,也就是说嵌套在里面的结构体可以继续重新定义新的变量

  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值