C语言程序设计 教学课件 作者 刘明才 第9章 结构体与共用体.ppt

C语言程序设计 教学课件 作者 刘明才 第9章 结构体与共用体.ppt

ID:50350948

大小:519.00 KB

页数:93页

时间:2020-03-08

C语言程序设计 教学课件 作者 刘明才 第9章 结构体与共用体.ppt_第1页
C语言程序设计 教学课件 作者 刘明才 第9章 结构体与共用体.ppt_第2页
C语言程序设计 教学课件 作者 刘明才 第9章 结构体与共用体.ppt_第3页
C语言程序设计 教学课件 作者 刘明才 第9章 结构体与共用体.ppt_第4页
C语言程序设计 教学课件 作者 刘明才 第9章 结构体与共用体.ppt_第5页
资源描述:

《C语言程序设计 教学课件 作者 刘明才 第9章 结构体与共用体.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第9章结构体与共用体结构体类型的定义结构体类型变量结构体数组结构体和指针结构体和函数链表共用体枚举用typedef定义类型第页共93页9.1结构体类型的定义结构体由若干成员组成,各成员可以是不同的类型。在程序中使用结构体类型,必须先对结构体的组成进行描述(定义)。例如,学生信息可用结构体定义为:structstudent{intnum;charname[20];charsex;intage;floatscore;charaddr[30];};第页共93页其中,关键字struct是结构体类型的标志。struct之后的student是结构体名,用花括号括起来的是各个成员的描述(定义)。上例定义的

2、结构体类型structstudent有6个成员,分别为num、name、sex、age、score和addr。这6个成员分别表示学生的学号、姓名、性别、年龄、成绩和家庭住址,显然它们的类型是不同的。第页共93页结构体类型定义的一般形式为:struct结构体名{成员表列};其中struct是关键字,结构体名用合法的标识符表示,成员表列的说明形式为:类型名成员名;第页共93页结构体类型定义要注意以下几点。结构体类型定义只是指定了一种类型(同系统已定义的基本类型,如int、float、char等一样),无具体的数据,系统不分配实际内存单元。结构体类型的成员可以是任何基本数据类型、数组、指针等,而且

3、可以是已定义的结构体类型。第页共93页例如,以下定义一个表示日期的结构体类型:structdate{intyear;intmonth;intday;};以下定义一个表示学生信息的结构体类型:structstu{intnum;charname[20];charsex;structdatebirthday;/*成员birthday为结构体类型structdate*/floatscore[3];charaddr[30];};第页共93页9.2结构体类型变量结构体类型变量的定义结构体变量的引用第页共93页9.2.1结构体类型变量的定义先定义结构体类型,再定义变量这种定义方法的一般形式为:struct

4、结构体名{成员表};struct结构体名变量名表列;如前面已定义了一个结构体类型structstu,可以用它来定义变量。例如:structstus1,s2;第页共93页定义s1和s2为structstu类型的变量,即它们是具有structstu类型的结构体变量。定义结构体变量后,系统为它们分配内存单元。系统为结构体变量分配的内存单元是连续的,一个结构体变量所占的内存空间为它的各成员所占字节数之和。例如,以上结构体变量s1的内存空间分配,如图所示。第页共93页结构体变量s1的内存空间分配第页共93页可以用sizeof(变量)或sizeof(类型标识符)求出该变量或该种类型的变量所占的存储空间的

5、字节数。例如表达式“sizeof(s1)”或“sizeof(structstu)”的值为71(按TurboC标准)。第页共93页在定义结构体类型的同时定义变量这种定义方法的一般形式为:struct结构体名{成员表}变量名表列;例如:structst{intnum;charname[20];floatscore;}s1,s2;它在定义了结构体类型structst的同时定义了两个该类型的变量s1和s2。第页共93页直接定义结构体类型变量这种定义方法的一般形式为:struct{成员表}变量名表列;例如:struct{intnum;charname[20];floatscore;}s1,s2;即在结

6、构体定义时不出现结构体类型名,这种形式虽然简单,但不能在再需要时,使用定义的结构体类型。建议读者使用前两种方法定义结构体类型变量。第页共93页9.2.2结构体变量的引用在对结构体变量引用时,一般只能对其成员进行直接操作,而不能对结构体变量整体进行操作。引用结构体变量成员的一般形式为:结构体变量名.成员名运算符“.”为成员运算符,其结合性是自左至右。例如:structdate{intyear;intmonth;intday;}structexample{intnum;charname[20];structdatebir;}s1,s2;第页共93页各成员的引用形式如下:s1.num=101;s2

7、.num=s1.num+1;strcpy(s1.name,"wang");如果成员本身又属于一个结构体类型,则要用若干个成员运算符,一级一级地找到最低一级的成员。例如:s1.bir.year=1985;结构体变量和其他变量一样,可以在定义变量的同时进行初始化。第页共93页结构体变量初始化的一般形式如下:结构体类型结构体变量名={初始值表};例如:structstudent{charname[10];float

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

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

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