结构体、共用体和用户定义类型

结构体、共用体和用户定义类型

ID:41374271

大小:407.00 KB

页数:28页

时间:2019-08-23

结构体、共用体和用户定义类型_第1页
结构体、共用体和用户定义类型_第2页
结构体、共用体和用户定义类型_第3页
结构体、共用体和用户定义类型_第4页
结构体、共用体和用户定义类型_第5页
资源描述:

《结构体、共用体和用户定义类型》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、本章重点三种用户构造的数据类型:14.1用typedef说明一种新类型名typedef:对已有的类型,说明一个新的类型标识符14.2结构体类型struct:把具有相互关系的不同类型数据组成一个有机整体。14.3共用体union:使几种不同类型的变量共用一段存储空间第14章结构体(struct)、共用体(union)和用户自定义类型(typedef)14.1用typedef说明一种新类型名C语言允许用typedef说明一种新类型名,说明新类型名的语句一般形式为:typedef类型名标识符;//用标识符来代表已存在的“类型名”,并未产生新的数据类型,原有类型名

2、依然有效。typedefintINTEGER//可用INTEGER来代替int作整型变量的类型说明例如:INTEGERa,b;等效于:inta,b;又如:typedefchar*CHARP;(CHARP表示指向字符型数据的指针类型)CHARPp;等效于:char*p;14.2结构体类型结构体类型说明的一般形式是:struct结构体标识名{类型名1结构成员名表1;类型名2结构成员名表2;……类型名n结构成员名表n;};其中struct是关键字,是结构体类型的标志。“结构体标识名”和“结构成员名”都是用户定义的标识符。其中“结构体标识名”是可选项,在说明中可以

3、不出现。成员表列由若干个成员组成,由一对大括号括起来,每个成员都是该结构的一个组成部分,对每个成员也必须作类型声明,花括号{}最后的分号不能省。以学生档案为例,说明结构体类型的说明方法:姓名(name):字符串性别(sex):字符型出生日期(birthday):date结构体四门课成绩(sc):一维实型数组例如:structdate{intyear,month,day;};structstudent{charname[12];charsex;structdatebirthday;floatsc[4];};14.2.2结构体类型的变量的定义定义结构体类型变量

4、、数组和指针变量如下3种方法:1.紧跟在结构体说明之后进行定义。例如:structstudent{//结构体类型说明charname[12];charsex;structdatebirthday;floatsc[4];}std,pers[3],*pstd;//std为结构体类型变量;pers[3]为结构体类型数组;pstd为指向结构体类型的指针2.先说明结构体类型,再单独进行变量定义。例如:structstudent{//结构体类型说明charname[12],sex;structdatebirthday;floatsc[4];};structstuden

5、tstd,pers[3],*pstd;3.使用typedef说明结构体类型名,用新类型名定义变量。如:typedefstruct{//结构体类型说明charname[12],sex;structdatebirthday;floatsc[4];}STREC;//STREC是新结构体类型名,能唯一标识此结构体STRECstd,pers[3],*pstd;14.2.3给结构体变量、数组赋初值1.给结构体变量赋初值:所赋初值顺序放在一对花括号中例如:structstudent{//结构体类型说明charname[12],sex;structdatebirthday

6、;floatsc[4];}std={“LiMing”,’M’,1962,5,10,88,76,85.5,90};2.给结构体数组赋初值structbookcard{charnum[5];floatmoney;}bk[3]={{“No.1”,35.5},{“No.2”,25.0},{“No.3”,66.7}};/*bk[0]bk[1]bk[2]*/14.2.4引用结构体变量中的数据1.对结构体变量成员引用的三种方式:(1)结构变量名.成员名//.表示成员运算符(2)指针变量名->成员名//->表示结构指向运算符(3)(*指针变量名).成员名structstu

7、dent{//结构体类型说明charname[12],sex;structdatebirthday;floatsc[4];}std,arr[5],*ps;ps=&std;(1)若要引用结构体变量std中的sex成员,可写作:std.sex/*通过结构体变量引用*/ps->sex/*通过指针变量引用*/(*ps).sex/*通过指针变量引用*/(2)若要引用结构体变量std中的数组成员sc中的元素sc[2],可写作:std.sc[2]、ps->sc[2]、(*ps).sc[2](3)若结构体变量中的成员是作为字符串使用的字符型数组,如结构体中的成员name,

8、其引用形式可写作:std.name、ps->name、(*ps).

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

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

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