14第14章结构体与共用体第14章结构体与共用体

14第14章结构体与共用体第14章结构体与共用体

ID:36723427

大小:57.00 KB

页数:26页

时间:2019-05-14

14第14章结构体与共用体第14章结构体与共用体_第1页
14第14章结构体与共用体第14章结构体与共用体_第2页
14第14章结构体与共用体第14章结构体与共用体_第3页
14第14章结构体与共用体第14章结构体与共用体_第4页
14第14章结构体与共用体第14章结构体与共用体_第5页
资源描述:

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

1、第14章结构体与共用体主讲人:成江湖学长电话:13975026749QQ:16347548用户定义类型(typedef):对已有的类型,另外说明一个新的类型标识符结构体(struct):把具有相互关系的不同类型的数据组成一个有机的整体共同体(union):又称联合体。使几种不同类型的变量共用一段存储空间14.1用typedef说明一种新类型名功能:用自定义名字为已有数据类型命名类型定义简单形式:typedeftypename;说明:1)typedef类型定义语句关键字2)type已有数据类型名3)name用户定义的类型名4)类型定义后,与已

2、有类型一样使用例1:typedefintINTEGER;INTEGERa,b,c;与inta,b,c;等价例2:typedeffloatREAL;REALf1,f2;与floatf1,f2;等价例3:Typedefchar*CHARP;CHARPp;与char*p等价注意:1)typedef没有创造新数据类型2)typedef是定义类型,不能定义变量3)typedef与define不同:define是预编译时处理时简单字符置换;typedef是编译时处理为已有类型命名14.2结构体类型结构体是一种较为复杂但却非常灵活的构造型数据类型。一个结

3、构体类型可以由若干个称为成员(域)的成分组成。不同的结构体类型可根据需要,由不同的成员组成。对于某个具体的结构体类型,成员的数量必须固定,这一点与数组相同;但该结构体中各个成员的类型可以不同,这是结构体与数组的重要区别。例4:姓名(name):字符串性别(sex):字符型出生日期(birthday):date结构体四门课成绩(sc):一维实型数组14.2.1结构体类型说明结构体类型说明的一般形式:struct结构体名{类型标识符成员名1;类型标识符成员名2;…………….类型标识符成员名n;};说明:1)struct:关键字,是结构体类型的标

4、志,不能省略2)结构体名:用户定义合法标识符,可省:无名结构体3)类型标识符:用户定义合法标识符成员类型可以是基本型或构造型4)每个“结构成员名表”中都可以含有多个同类型的成员名,它们之间以逗号分隔。例5:structdate{intyear,month,day;};structdate{intyear;intmonth;intday;};5)结构体中的成员名可以各程序中的其它变量同名6)不同结构体的成员也可以同名。7)结构体说明同样要以分号;结尾8)结构体类型说明中的“类型名1”~“类型名n”,不仅可以是简单数据类型,也可以是构造类型,当

5、然也可以是某种结构体类型例6:structstudent{charname[12];charsex;structdatebirthday;floatsc[4];};例7:structstudent{charname[12];charsex;struct{intyear;intmonth;intday;}birthday;floatsc[4];};注意:结构体类型定义描述结构的组织形式,不分配内存14.2.2结构体类型的变量、数组和指针变量的定义可以用以下四种方式定义结构体类型的变量、数组和指针变量:1、紧跟在结构体类型说明之后进行定义例8:

6、structstudent{charname[12];charsex;structdatebirthday;floatsc[4];}std,pers[3],*pstd;yearmonthdayNamesexbirthdaysc[0]s[1]s[2]s[3]2、在说明一个无名结构体类型的同时,直接进行定义。例9:struct{charname[12];charsex;structdatebirthday;floatsc[4];}std,pers[3],*pstd;注意:通常用在不需要再次定义此类型结构体变量的情况3、先说明结构体类型,再单独进

7、行变量定义例10:structstudent{charname[12];charsex;structdatebirthday;floatsc[4];};structstudentstd,pers[3],*pstd;注意:structstudent都不能省略4、使用typedef说明一个结构体类型名,再用新类型名来定义变量例11:Typedefstruct{charname[12];charsex;structdatebirthday;floatsc[4];}STREC;STRECstd,pers[3],*pstd;14.2.3给结构体变量、

8、数组赋初值1、给结构体变量赋初值所赋初值顺序放在一对花括号中例12:structstudent{charname[12];charsex;structdatebirthday;f

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

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

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