c语言 第8章 结构与联合

c语言 第8章 结构与联合

ID:42777625

大小:434.00 KB

页数:68页

时间:2019-09-22

c语言 第8章 结构与联合_第1页
c语言 第8章 结构与联合_第2页
c语言 第8章 结构与联合_第3页
c语言 第8章 结构与联合_第4页
c语言 第8章 结构与联合_第5页
资源描述:

《c语言 第8章 结构与联合》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、C语言程序设计2002年第八章结构与联合第八章结构与联合C的构造类型:(1)数组,(2)结构,(3)联合。在实际事务处理中,一些对象有多个属性,如学生成绩档案处理,学生是被处理的基本对象,有多个属性:(a)学号(长整数或字符串)、(b)姓名(字符串)、(c)性别(枚举常量或字符)、(d)年龄(整数或短整数)(e)各科成绩(单精度浮点数数组)、……表示这些属性的数据构成一个学生的数据记录。由于数据记录的每个数据成员的类型不相同,不能用数组表示,但可以用一个结构变量来表示,全班学生则用一个结构数组表

2、示。结构变量来实现将多个不一定相同类型的数据集成在一起表示一个数据对象,其各个成员代表数据对象的各个属性。8.1结构的说明的引用8.1.1结构的说明结构说明任务就是定义结构的类型和用定义的结构类型来说明结构变量。一、结构类型的定义形式存储类型区分符struct结构名{结构成员说明表};例:structstud{/*定义一个能表示学生属性的结构类型*/longnum;charname[10];charsex;shortage;intscore[4];/*四门课程的成绩*/};二、结构类型的变量说明

3、(A)先定义类型,后说明变量:structstudstudent1,student2;(B)定义类型的同时说明变量:structstud{/*定义一个能表示学生属性的结构类型*/longnum;charname[10];charsex;shortage;intscore[4];/*四门课程的成绩*/}student1,student2;(C)定义匿名结构类型的同时说明变量,该类型仅能使用一次:struct{/*定义一个能表示学生属性的结构类型*/longnum;charname[10];char

4、sex;shortage;intscore[4];/*四门课程的成绩*/}student1,student2;三、结构变量的初始化structstud{longnum;charname[10];charsex;shortage;intscore[4];/*四门课程的成绩*/}student1={98183341;“zhangsan”,’m’,18,{80,90,78,86}};structstudstudent2={98183342;“LiSi”,’m’,18,{85,91,88,87}};注意

5、:初值表中各初始化表达式的类型应与定义成员的类型一一对应。8.1.2结构的引用一、引用结构变量(1)同类型的结构变量可以相互赋值。例:structstuds1={98183341,“zhangsan”,’m’,18,{80,90,78,86}};,structstuds2=={98183342,“LiSi”,’m’,18,{85,91,88,87}},s3;s3=s1;s1=s2;s2=s3;注:s1={98183341;“zhangsan”,’m’,18,{80,90,78,86}};非法语句

6、(2)结构变量可以取地址。结构变量也分配连续存储单元,例:structstudstudent;num4字节name10字节sex(1)1字节age2字节score4*4字节student&student&student.numstudent.name&student.sex&student.agestudent.score&student.score[0]二、成员选择运算符‘.’及结构成员的引用形式:结构变量名.成员名structstuds1;s1.num=98183341;scanf(“%ld

7、”,&s1.num);strcpy(s1.name,“zhangsan”);scanf(“%s”,s1.name);s1.sex=’m’;scanf(“%c”,&s1.sex);s1.age=18;scanf(“%hd”,&s1.age);s1.score[0]=80;scanf(“%d”,&s1.score[0]);s1.score[1]=87;scanf(“%d”,&s1.score[1]);s1.score[2]=90;scanf(“%d”,&s1.score[2]);s1.score[3

8、]=95;scanf(“%d”,&s1.score[3]);二、嵌套的结构结构成员可以是结构,形成结构的嵌套形式。strcutdate{charmonth_name[4];intday;intyear;}structnstud{longnum;charname[10];charsex;structdatebirthday;intscore[4];}structnstud{longnum;charname[10];charsex;strcutdate{charmonth_name[4];intda

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

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

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