C语言基础教程作者张晓蕾1_第7章结构体、共用体与枚举课案.pptVIP

C语言基础教程作者张晓蕾1_第7章结构体、共用体与枚举课案.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言基础教程作者张晓蕾1_第7章结构体、共用体与枚举课案.ppt

第7章 结构体、共用体与枚举 7.1 结 构 体 7.1.1 信息的表示 7.1.2 结构体定义与初始化 1.结构体的定义 结构体是一种复合的数据类型,它允许用其他数据类型构成一个结构类型,而一个结构类型变量内的所有数据可以作为一个整体进行处理。 同数组类似,一个结构体也是若干数据项的集合,但与数组不同,数组中的所有元素都只能是同一类型的,而结构体中的数据项可以是不同的类型。 结构体的定义形式如下: struct 结构体标识名 { 类型 成员变量名1; 类型 成员变量名2; 类型 成员变量名3; … }; 2.结构体变量的初始化 结构体类型变量同数组一样,也可以在定义时对其进行初始化,例如: struct student { char name[8]; int chinese; int math; int eng; int aver; int count; }s={赵军,78, 62, 67, 69, 207}; 3.结构体变量的存储形式 结构体变量作为一种变量,在定义时也会在内存中对其进行存储空间的分配,在为结构体变量分配内存空间时,形式与数组相似,是按结构体成员定义时的先后顺序连续分配的。如果在程序中定义了如下的结构体变量s: struct student /*定义学生结构体类型*/ { char name[8]; int chinese; int math; int eng; int aver; int count; }s; 7.1.3 结构体变量的引用 与数组相似,引用结构体变量时通常是对结构体变量中的各个成员分别引用,对结构体的引用,大部分的操作都是引用结构体内的成员来完成的。 结构体成员的引用方式有两种:通过“.”运算符引用和“?” 运算符引用。如下所示: 结构体变量.成员名 结构体变量指针?成员名 1.引用结构体变量 “.”是结构体成员运算符,结构体通过成员运算符“.”引用结构体成员。当结构体成员是普通变量或数组时,使用这种方法引用之后可进行各种运算。 2.引用结构体指针 如果定义的是结构体指针类型的变量,则可以通过“-”运算符引用。“-”是由减号和大于号组成的,当变量为指向结构体类型的指针变量时,可以采用这种方式对结构体成员变量进行引用。 7.1.4 自定义数据类型 C语言中允许用关键字typedef来定义用户自定义的新数据类型,格式如下: typedef 类型说明符 标识符; 使用typedef就可以将标识符定义为类型说明符所说明的数据类型,这种定义并不是定义一种新的数据类型,而是将已有的数据类型取一个别名,以方便程序的读写。 7.2 链表及其应用 7.2.1 链表 1.链表的定义 链表是一种可以动态地进行存储空间分配的数据结构,其中,链表每个结点的数据结构是一个可以对自身类型进行引用的结构体。 下面,将定义一个有学号和姓名数据的链表结构类型Stud。结构定义形式如下: type struct student { int num; /*学号*/ char name[8]; /*姓名*/ struct student * next; /*定义可以指向结构体自身类型的指针*/ } Stud; 其中,next是一个指向结构体自身类型的指针,可以存放一个相同类型的结构体的地址。从而可以把同类型的结构体通过指针连接起来,形成链表。如图7-4所示。 2.动态分配存储空间 C语言中提供了函数malloc(),可以动态地为建立链表分配内存空间,该函数在C语言头文件“stdlib.h”中声明。 使用形式如下: 指针变量=malloc(sizeof ( 数据类型 ) ); 7.3 共 用 体 7.3.1 共用体的定义与引用 1.共用体的定义 共用体的定义方式与结构体类似,共用体以关键字union来说明。 共用体变量定义的一般形式如下: union 共用体标识名 { 成员列表; }; 2.共用体的引用 共用体的引用方法与结构体相同,形式如下: 共用体变量.成员名; 共用体变量指针-成员名; 3.结构与共用体的区别 结构和共用体的定义和使

您可能关注的文档

文档评论(0)

开心农场 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档