第10章结构体与共用体

第10章结构体与共用体

ID:30919042

大小:186.86 KB

页数:18页

时间:2019-01-04

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

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

1、§1O・1概述前儿章我们学习的数据类型主要是简单类型(int、long>short>unsignedint>unsignedlong、unsignedshort,char、single、double).数组类型和指针类型。在处理某些问题时,描述一个对彖往往需要若干个不同类型的数据项,如果用分散的数据类型来处理很不方便,为此有必要将这些不同类型的若干数据项组合在一起,形成一个有机的整体,这个整体就叫做结构体。它类似于数据库中的一条记录。§10.2定义结构体变量的方法后定义变1.定义结构体类型①格式:struct结构体名{成员表列;};如

2、用于描述学生的有关信息的结构体类型可定义成:②举例:structstudent{intNo;charname[20];charsex;intage;floatscore;charaddr[30];};③说明:•结构体中的成员又可叫做分量、域、字段;其命名规则类似于变量,成员表列中的成员定义方式也与变量相同;•在这个例子中,一个学生的有关信息由6种不同类型的数据所组成,定义成结构体后,它们就是一个整体,处理起来非常方便。•结构体类型名是由"struct结构体名”共同构成的,如上面的结构体类型名就是:structstudent。2.定义结

3、构体类型的变量有了上面的结构体类型的定义后,就可以定义相应类型的变量,具体格式为:①格式:结构体类型名变量表列;如J:structstudentstu1,stu2;②常用符号常量来代表结构体类型名,女山#defineSTUDENTstructstudentSTUDENT{intNo;charname[20];charsex;intage;floatscore;charaddrf3O];};STUDENTstul,stu2;二、在定义类型的同时定义变量①格式:struct结构体名{成员表列;}结构体变量表;②举例:structstude

4、nt{intNo;charname[20];charsex;intage;floatscore;charaddr[30];)stul,stu2;三、直接定义变量①格式:struct{成员表列;}结构体变量表;②举例:struct{intNo;charname[20];charsex;intage;floatscore;charaddr[30];}stul,stu2;四、说明1.要区分两个不同的概念:类型与变量变量是个具体对象,有血有肉,如同“张三”;而类型是个抽象的概念,如同“人”,是对一个群体的抽象化描述。对变量分配存储空间,可赋值

5、、可存取、可运算;对类型不分配存储空间,不可赋值、不可存取、不可运算。1.成员可以单独使用,而但成员本身还可以是一个结构体类型的变量;女山structdate{intyear;intmonth;intday;);structstudent{intNo;charname[20];charsex;structdatebirthday;floatscore;charaddr[30];}stul,stu2;2.成员可以与程序中的变量同名,因为引用方式不同,所以系统不会产牛混乱。§10.3结构体类型变量的引用一、结构体成员运算符:“・”,优先级

6、为1,结合方向:左t向。二、引用方式:结构体变量名・成员名三、举例:读入三个学生的信息,按成绩的高低输出学生的信息。#includenstdio.h"#defineStustructstudentStu{intNo;charname[20J;charsex;intscore;};voidmain(){Stusl,s2,s3,s;printf(**请输入第1个学生的:学号,姓名,性别,成绩:”);scanfC%d,%s,%c,%cT;&sl.No.sl.name,&s1.sex,&s1.score);prinlf(ft请输入第2

7、个学生的:学号,姓名,性别,成绩:”);scanf("%d,%s,%c,%ci",&s2.No,s2.name,&s2.sex,&s2.score);printf((t请输入第3个学生的:学号,姓名,性别,成绩:”);scanf("%d,%s,%c,%d",&s3.No,s3.name,&s3.sex,&s3.score);if(s2.score>s1.score){s=sl;sl=s2;s2=s;}if(s3.score>s1.score){s=sl;sl=s3;s3=s;}if(s3.score>s2.score){s=s3;

8、s3=s2;s2=s;}printf(M按成绩排名顺序为:u);printf(,,%5d%10s%3c%5d'sl.No,sl.name,si.sex,si.score);printf(M%5d%10s

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

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

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