复杂构造数据类型

复杂构造数据类型

ID:46218552

大小:398.50 KB

页数:40页

时间:2019-11-21

复杂构造数据类型_第1页
复杂构造数据类型_第2页
复杂构造数据类型_第3页
复杂构造数据类型_第4页
复杂构造数据类型_第5页
资源描述:

《复杂构造数据类型》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、上节回顾一维数组:二维数组:数组与函数/指针的混合使用字符数组:元素:inta[6];初始化:inta[6]={1,3,5,7,9,2};a[0]~a[5]inta[6],n;for(n=0;n<6;n++)scanf(“%d”,a[n]);元素:初始化:b[0][0]~a[1][2]intb[2][3]intb[2][3]={1,3,5,7,9,2};intb[2][3],m,n;for(n=0;n<2;n++)for(m=0;m<3;m++)scanf(“%d”,b[n][m]);charc[6];初始化:charc[6]={‘G’,’o’,

2、’o’,’d’};charc[6]={“good”};charc[6]=“good”;输入:输入:输入/输出:gets();puts();%s8/13/20211《C语言程序设计》第五章复杂构造数据类型5.1结构体5.2共用体5.3枚举类型*5.4链表(不讲)8/13/20212《C语言程序设计》学生学号姓名性别成绩家庭住址5.1结构体5.1.1结构体的引出及使用这些项目之间是彼此联系的,应组织定义成一个组合项,统一表示和使用,见下例:年龄一、结构体的引出8/13/20213《C语言程序设计》学号姓名性别年龄成绩家庭地址intnumcharnam

3、e[8]charsexintagefloatscorecharaddr[20]9001李华女2086济南某一个学生的具体信息表示:思考:实际应用中还有哪些具备多个属性的数据?structstudent{intnum;charname[8];charsex;intage;floatscore;charaddr[20];};8/13/20214《C语言程序设计》这种由若干个不同类型的数据项组成的组合类型,在C语言中叫做结构体类型,相当于其它语言中描述的“记录”。结构体类型在使用之前应先定义其类型结构,然后再定义该类型变量,才能使用。2、结构体的定义8

4、/13/20215《C语言程序设计》结构体是由一些逻辑相关,但数据类型不同的分量组成的一组数据。注意:用户需要先定义结构体类型,之后才能定义结构体变量注意不要忘了分号成员表列结构体类型定义形式:struct结构体名{数据类型成员名1;数据类型成员名2;::数据类型成员名n;};关键字用户定义的标识符structstudent{intnum;charname[8];charsex;intage;floatscore;charaddr[20];};8/13/20216《C语言程序设计》3、定义结构体变量的方法(1).先定义结构体类型,再定义变量str

5、uctstudent{charname[10];intage;floats1,s2;};结构体变量st1和st2各自都需要20个字节的存储空间st1st2nameages1s2nameages1s2结构体名数据类型变量列表;structstudentst1,st2结构体类型两个structstudent类型的变量10个字节2个字节4个字节4个字节8/13/20217《C语言程序设计》(2).定义结构体类型同时定义变量structstudent{charname[10];intage;floats1,s2;}st1,st2;(3).直接定义结构体变

6、量struct{charname[10];intage;floats1,s2;}st1,st2;【说明】:(1)结构体变量具有结构体类型的一切特征在内存中结构体变量占有一片连续的存储单元存储单元的字节数可用sizeof运算符算出printf(“%d”,sizeof(structstudent));printf(“%d”,sizeof(st1));birthday?(year、month、day)8/13/20218《C语言程序设计》(2)结构体类型可以嵌套定义例:structdate{intyear;intmonth;intday;};s

7、tructstud{charname[10];structdatebirthday;floats1,s2;};或:structstud{charname[10];structdate{intyear;intmonth;intday;}birthday;floats1,s2;};8/13/20219《C语言程序设计》4、结构体变量的引用(1).引用结构体变量中的成员格式:结构体变量名.成员名structstudent{charname[10];intage;floats1,s2;};注意:一般是对结构体变量的各个成员分别进行赋值st1={“Mary

8、”,21,78,86};这样的整体赋值是不允许的!structstudentst1;st1.name=“Mary”;st1.age=21

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

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

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