第九讲 结构体共用体链表

第九讲 结构体共用体链表

ID:20648110

大小:284.50 KB

页数:22页

时间:2018-10-14

第九讲 结构体共用体链表_第1页
第九讲 结构体共用体链表_第2页
第九讲 结构体共用体链表_第3页
第九讲 结构体共用体链表_第4页
第九讲 结构体共用体链表_第5页
资源描述:

《第九讲 结构体共用体链表》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、6.4.1结构体结构体概述定义结构体类型和变量结构体变量的引用结构体数组结构体类的指针6.4.1结构体概述一组相关的不同数据类型的数据项,可作一个整体来处理。C中称结构体类型数据。下例中定义了结构体类型student和结构体变量stu1,stu2。前者是数据类型,后者是变量。学号姓名性别成绩结构体类型student1王民学男71.52刘方女75结构体变量st1结构体变量st2定义结构体的类型定义结构体类型一般形式:struct[结构体类型名]{变量类型变量名;变量类型变量名;变量类型变量名;…}[结构变量名

2、表];注意:“结构类型名”和“结构变量名表”,可省略一个。关键字struct和它后面的结构体类型名一起组成一个新的数据类型名例structstudent{intnum;charname[20];charsex;intage;floatscore;};namenumsexagescore2字节2字节20字节1字节4字节…结构体类型定义描述结构的组织形式,不分配内存例子图解定义结构体的变量定义结构体变量定义结构体的同时定义structstudent{….}st1,st2;2.先定义结构体,后定义结构体变量例:s

3、tructstudent{….};structstudentst1,st2;3.直接定义例:struct{….}st1,st2;在struct后不出现结构体类型名例structstudent{intnum;charname[20];charsex;intage;charaddr[30];};structstudentstu1={112,“WangLin”,‘M’,19,“200BeijingRoad”};结构体变量的初始化例structstudent{intnum;charname[20];charsex;

4、intage;charaddr[30];}stu1={112,“WangLin”,‘M’,19,“200BeijingRoad”};例struct{intnum;charname[20];charsex;intage;charaddr[30];}stu1={112,“WangLin”,‘M’,19,“200BeijingRoad”};引用规则结构体变量不能整体引用,只能引用变量成员★可以将一个结构体变量赋值给另一个结构体变量例如:tomorrw=today;引用方式:结构体变量名.成员名6.4.2结构体变量

5、的引用输入今天的日期,然后输出该日期。main(){structdate/*定义结构类型date*/{intyear;intmonth;intday;};structdatetoday,tomorrow;/*说明结构变量today*/scanf("%d%d%d",&today.year,&today.month,&today.day);printf("%d.%d.%d",today.year,today.month,today.day);}structstudent{intnum;charname[20

6、];charsex;structdatebirthday;floatscore;}stu1,stu2;structdate{intmonth;intday;intyear;};结构体嵌套时逐级引用对上面定义的结构变量stu1,可以这样访问各个成员:stu1.numstu1.namestu1.sexstu1.birthday.monthstu1.birthday.daystu1.birthday.year6.4.3结构体类的指针指向结构体类变量的指针指向结构体类变量的指针就是该变量所占用的内存区段的首址。例:

7、structstudent{intnum;charname[3];charsex;floatscore;}st1,st2,st3;structstudent*p=&st1;printf(“%d,%s”,st1.num,st1.name);printf(“%d,%s”,(*p).num,(*p).name);printf(“%d,%s”,p->num,p->name);numnamesexscore::2A00Hst16.4.3——2.结构体数组与指向结构体类数组的指针结构体类型也可以定义数组每个下标变量st

8、u[i]都有结构体类型student的各个分量;指向结构体类数组的指针就是该数组所占用的内存区段的首址。例:structstudent{intnum;charname[3];charsex;floatscore;}st[30]={……};structstudent*p;for(p=st;pnum,p->name);::st[0]st[1]st[2]st[3

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。