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

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

ID:27547311

大小:358.01 KB

页数:39页

时间:2018-12-03

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

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

1、本章重点14.1用typedef说明一种新类型名14.2结构体类型14.3共用体第14章结构体、共用体和用户自定义类型14.1用typedef说明一种新类型名C语言允许用户自己定义类型说明符,也就是说允许由用户为数据类型取“别名”。类型定义符typedef即可用来完成此功能,它可以C语言的基本数据类型取“别名”,也可以为用户自定义的结构类型取“别名”。例如,typedefintINTEGER这以后就可用INTEGER来代替int作整型变量的类型说明了。例如:INTEGERa,b;它等效于:int

2、a,b;用typedef定义数组类型、指针类型、结构类型将带来很大的方便,不仅使程序书写简洁,而且增强了可读性。例如:typedefcharNAME[20];表示NAME是字符数组类型,数组长度为20。然后可用NAME说明变量,如:NAMEa1,a2,s1,s2;完全等效于:chara1[20],a2[20],s1[20],s2[20]typedefstructstu{charname[20];intage;charsex;}Student;定义Student表示structstu的结构类型,然

3、后可用Student来说明结构变量:Studentbody1,body2;typedef定义的一般形式为:typedef原类型名新类型名有时也可用宏定义(#define)来代替typedef的功能,但是宏定义是由预处理完成的,而typedef则是在编译时完成的,它并不只是作简单的字符替换。14.2结构体类型C语言的基本数据类型有整型,实型,字符型等,在实际问题中,把一个对象抽象成数据来表示时,往往需要一组不同基本数据类型的组合。14.2.1结构体类型的说明结构体类型说明的一般形式是:struct

4、结构体标识名{类型名1结构成员名表1;类型名2结构成员名表2;…类型名n结构成员名表n;};其中struct是关键字,是结构体类型的标志。“结构体标识名”和“结构成员名”都是用户定义的标识符。其中“结构体标识名”是可选项,在说明中可以不出现。成员表列由若干个成员组成,由一对大括号括起来,每个成员都是该结构的一个组成部分。对每个成员也必须作类型声明,其形式如下:类型说明符成员名;结构体成员名表中可以含有多个同类型的成员名,它们之间用逗号分隔。例如:structstudent{intmathscor

5、e,;englishscore,sum;};结构体中的成员名可以和程序中的其它变量同名;不同结构体中的成员也可以同名。在成员列表中,类型名1~类型名n不仅可以是简单数据类型,也可以是构造类型,所以也可以是某种结构体类型。这时称为结构体的嵌套。嵌套时允许内嵌结构体成员名与外层成员的名字相同。例如:structstudent{charname[10];charsex;structdatebirthday;floatscore[5];};以上说明中,birthday成员的类型structdate是一个

6、已经说明过的结构体类型。若事先没有说明这一类型,则以上结构体类型说明可改写成如下:structstudent{charname[10];charsex;struct{intyear;intmonth;intday;}birthday;floatscore[5];};14.2.2结构体类型的变量的定义定义结构类型变量由以下四种方法:1.先定义结构,再说明结构变量。例如:structstudent{intnumber;charname[31];shortage;charsex;chargrade;c

7、haraddress[101];};structstudentboy1,boy2;2.在定义结构类型的同时说明结构变量。这种形式说明的一般形式为:struct结构名{成员表列}变量名表列;例如:structstudent{intnumber;charname[31];shortage;charsex;chargrade;charaddress[101];}boy1,boy2;3.直接说明结构变量。即在结构变量定义中省去了结构类型名,而直接给出结构变量。一般形式为:struct{成员表列}变量名表

8、列;例如以上结构中把student省略,structstudent{…}boy1,boy2;4.使用typedef说明一个结构体类型名,再用新类型名来定义变量。例如:typedefstruct{charame[2];charsex;structdatebirthday;floatsc[4];}STREC;STRECboy1,boy2;此处STREC是一个具体的结构体类型名,它能够唯一的标识这种结构体类型。因此,可用它来定义变量,不可再写关键字struct。14.2.3结构体类型的变量的引用表示结

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

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

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