自己对联合和结构体的认识

 对于联合和结构体我主要从三个方面去认识:

1,结构体的声明和联合的声明是一样的,仅仅只是关键字的不同,一个是struct一个是union;

2,结构体和联合体的访问,结构体中所有的成员变量都可以单独的访问,比如struct student{char name[256],int age; double Avg}struct student stu;我们可以单独对结构体中所有变量访问,stu.name,stu.age,stu.Avg。但是联合体却不能这样访问,他只能访问三个成员中的变量的一个,因为他在内存中是覆盖式的存储。

3,结构体和联合体的存储,结构体在内存的分配时会给每一个成员分配内存空间,但联合体只会分配所有成员中最大的一个,比如union student{char name[256],int age; double Avg},union student stu;strcpy(stu.name ,"xiaoming");stu.age = 12;stu.Avg = 12.89;则只能正确的访问到stu.Avg,因为stu.name和stu.age均被stu.Avg覆盖了 ,所以必须跟踪号当前union中所保存的值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值