c语言程序设计第6章

c语言程序设计第6章

ID:22074386

大小:250.00 KB

页数:53页

时间:2018-10-27

c语言程序设计第6章_第1页
c语言程序设计第6章_第2页
c语言程序设计第6章_第3页
c语言程序设计第6章_第4页
c语言程序设计第6章_第5页
资源描述:

《c语言程序设计第6章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C语言程序设计第6章结构与联合类型6.1结构与联合类型的概述6.2结构类型6.3链表及其操作6.4位域与联合类型6.5枚举类型6.1结构与联合类型的概述结构类型是什么?由多个元素构成的集合,这些元素的每一个均有独立的变量名,采取按名访问方式,每个元素可以定义为不同的类型,称数据项。数据项的类型可以是基本类型,也可以是构造类型示例: 在C语言中,用结构类型描述上述数据结构的格式如下:structstudent{ charno[6]; charname[10]; charsex;intgrade[4]; };6.1结构与联合类型的概述联合类型是什么?联合类

2、型的定义格式与结构类型相似,但其成员变量的内存分配方式不同,联合类型的所有成员不论其类型和大小,均共享使用同一块内存单元下图可帮助读者理解不同成员共享内存的方法:6.1结构与联合类型的概述例如,要进行学生情况调查,大学生的调查项目为专业,而中学生的调查项目为身高,其它项目均相同,这时可以使用联合方式来实现。 调查表格式如下:C语言可利用联合类型表格式中的共项栏目:专业/身高项目,定义方法如下:structsurvey{ charname[10]; ... union{ charmajor[20];intheight; }item; };6.2.1结构类型与结

3、构变量结构类型 结构可以使用typedef定义为类型,具体格式如下:typedefstruct{成员定义列表}结构类型名; 注:保留字struct后也可以取类型名,这主要用于递归定义中示例:typedefstruct{intyear,month,day;}Date; Dated1,d2,d3; d1.year=2000; d2.month=3; d3.day=15;注:d1,d2,d3为Date类型的变量6.2.1结构类型与结构变量结构变量的定义有三种方式:1)先定义类型再定义变量typedefstruct{成员定义列表}结构类型名;结构类型名变量名={初始

4、化值表};2)在定义类型的同时定义变量struct结构类型名{成员定义列表}变量名表;3)不定义类型直接定义结构变量struct{成员定义列表}变量名表;注:定义变量时没有给出结构类型名,该结构类型只能定义一次结构变量6.2.1结构类型与结构变量示例:1)typedefstruct{ charno[6]; charname[10]; charsex;intgrade[4]; }student; studenta={"02001","David",'M',{80,75,85,80}};2)structstudent{ charno[6]; charname[1

5、0]; charsex;intgrade[4]; }a,b;3)struct{ charno[6]; charname[10]; charsex;intgrade[4]; }a,b;6.2.2结构变量的基本操作结构变量的使用可以从两种情况考虑:1.使用结构变量中的成员 使用结构变量中的成员的格式: 结构变量名.成员变量名 例如:strcpy(a.no,"02001"); a.age=30; a.birthday.month=3; (a.birthday.year)=1985; (a.birthday).day=2; 2.直接使用结构变量 结构变量可以作为一个

6、整体使用,主要的操作有:复制和作为函数参数。 例如:structstudenta={"02001","john"},b={"02002","john"}; if(a!=b)a=b;6.2.2结构变量的基本操作例6.1编写程序完成结构变量的输入输出(一)#includetypedefstruct{intmonth,day,year;}Date;typedefstruct{ charno[6]; charname[10]; Datebirthday; }Student; Studentstud;/*全局变量*/voidmain() { char

7、ch; do{printf("FunctionMenu");printf("============"); printf("1.InputData"); printf("2.OutputData"); printf("0.Exit");ch=getch(); switch(ch){ case'1':readdata();break;/*输入数据到结构变量stud*/ case'2':writedata();break;/*显示结构变量stud中数据*/ } }while(ch!='0'); }6.2.2结构变量的基本操作例6.1编写程序完

8、成结构变量的输入输出(二)voidreaddata(

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

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

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