c语言结构体反射解析,C语言结构体解析

我们知道定义一个数组就等于定义了多个相同类型的变量,它们的类型是一样的。有时有这样的需求,如果我想保存一些信息,但每个信息类型不一定相同,这时该怎么办?我们就可以自己定义一类型,而这个类型,就是结构体,也可以叫结构。结构体允许我们将不同的类型组合起来,形成一个新的类型。

结构体定义语法,假如我们用来保存一个人的信息。struct Person

{

//名字

char name[20];

//年龄

int age;

//性别

char sex;

}

struct为关键字,后面跟结构体名字,也就是新类型的名字,名字规范和函数规范一样,只能是数字、字母、下划线且不能以数字开头。里面定义了各种类型变量,我这里定义年龄为int肯定不合理,这里只是举个例子而已。

结构体类型和基本类型是同级的,也就是能用int、char、short的地方就能用结构体,另外只是定义结构体是不会分配内存的,要用这个结构体声明变量后才会分配内存。

结构体的赋值struct AA

{

int aa;

int bb;

}

//声明结构体类型

struct TestStruct

{

char a;

short b;

int c;

int arr[5];

//定义一个结构体类型变量

AA x;

};

int main(int argc, char* argv[])

{

//声明变量

TestStruct ts;

//开始赋值

ts.a = 10;

ts.b = 20;

ts.c = 30;

//为数组赋值

ts.arr[0] = 1;

ts.arr[1] = 2;

//为结构体赋值

ts.x.aa = 3;

ts.x.bb = 4;

return 0;

}

如果要取值也很简单,int x = ts.a;就可以了,其余类推。

结构体在定义的时候可以使用任何类型,除了自身。

qun.png

由于表达能力有限或其他一些原因,本站可能有少量错误,欢迎指正!

扫描关注个人博客QQ交流群共同探讨

此文为本站原创,由 陈成 发表,转载需要以链接形式注明出处

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值