结构体和联合体的知识总结

1、结构体


概念:存储一个可变的数据,使用变量处理。


存储同一类型的批量,使用数组。


不同类型的数据集合,使用结构体。


struct结构体名{


成员变量(类型名变量名:inta);


}[结构体变量1,结构体变量2];


定义结构体类型的变量:


struct结构体名变量名;


初始化结构体变量的方法


1)定义的同时初始化


struct结构体名{


成员变量(类型名变量名:intd);


}a,b={...赋值列表...};


2)使用结构体变量初始化


a.xxx=xxx;b.xxx=xxx;


3)定义结构体变量时初始化


Struct结构体名a={...赋值列表...};


结构体引用方法:使用结构体变量.成员变量


e.g:stu.stuid;


一种新的数据结构,内存存放是连续的。


使用指向结构体的指针进行访问。


stuct结构体名*指针名;


structstudent*p;


结构体指针指向结构体变量:


Structstudentstu;p=&stu;


使用结构体变量名作为函数的参数--->值传递


Fun(structstudentstu){}


使用指向结构体的指针作为函数的参数


Fun(structstudent*stu){}


Fun(&stu1);调用


注意:对类型是不分配空间的,只对变量分配空间。


表示结构变量成员的一般形式


结构变量名.成员名


intnNo=stBoy1.nNo;


嵌套结构变量成员的表示形式


结构变量名.成员名.成员名


intnMonth=stBoy1.stBirthday.nMonth;


2、联合体(共用体)


概念:使几个不同的变量共享同一段内存的结构称为“共用体”类型的结构。


1)联合体定义:


union联合体名{


成员变量--(成员类成员名)


}定义联合变量;


定义联合变量:


union联合体名联合体变量名;


联合体变量名.成员名1=xxx;


联合体变量名.成员名2=xxx;


成员名2就覆盖了成员名1的值


2)联合体的每个成员的首地址都是相同的


3)联合体占用内存空间:


<1>得到容纳成员变量中“最宽”的值。


<2>长度能够整除所有的成员变量的类型。


访问联合体成员变量


unionpeoplepeo;


1>peo.成员变量名


2>unionpeople*p=&peo;


P-->成员变量名


结构体变量所占内存长度是各成员占的内存长度之和,每个成员分别占有其自己的内存单元。而共用体变

量所占的内存长度等于最长的成员的长度。(需要考虑对齐)


联合体和结构体体可以互相嵌套。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值