C程序设计(第二版).pptVIP

  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程序设计(第二版).ppt

第十一章 结构体与共用体 本章内容 结构体变量与数组的定义、引用和初始化(重点) 结构体变量和数组做为函数的参数 (重点) 动态数据结构链表(难点) 共用体 枚举类型 用 typedef定义类型 §11.1 - §11.4 结构体概述及结构体变量的定义、引用、初始化 结构体是一种构造型的数据类型 结构体变量可以包含一组类型不同的数据 一 结构体类型定义:(用于指定变量的成员名和成员的类型) 三 结构体变量的引用 关于结构体变量的引用规则说明:(1-5) §11.6 指向结构体数据的指针 二 用指针移动法访问结构体数组 §11.8 共用体 (也叫联合体) 用typedef定义类型步骤 课堂练习 这里和三个朋友看电影,只带了一个小凳子一样… 所占字节数为成员所占字节数的最大值 1 共用体类型的变量可以包含多个类型不同的成员 2 共用体类型变量的成员共占同一段内存,同一时刻只能有一个成员的值存放在其中 3 共用体类型变量所占内存的长度,是它最长成员所占内存的长度 如,sizeof(union data)=4 4 共用体也必须先定义类型再定义变量 5 共用体变量的定义形式也有三种: 类型与变量定义分开、类型与变量定义一体、类型名省略 6 共用体变量的成员表示形式:共用体变量名.成员名 如, a.i 你能分析出来它们的规律吗?跟什么类似? 跟变量定义形式上类似. 前面多一个typedef,类型别名在变量的位置上. 由于结构体的元素类型不同,所以C程序需要指定结构体包含哪些类型的元素--结构体类型的定义 前面 已经知道简单变量仅可以包含一个数据.而构造型的变量往往可以保存多个数据. 结构体与数组类似都是构造型的数据结构,都可以包含多个元素, 不同的是数组所包含的元素的类型都是一样的, 而结构体所包含的元素的类型是可以不同的。 如,存储一个学生的信息包含:学号、姓名,姓别、年龄、分数、专业,显然它们的类型是不同的。处理这类问题往往需要用到结构体。 思考:有其他的表示方法吗?有,可以把每个元素的大括号去掉.长度省略. stu[3]长度可以省略 void main() { int i,j; char leade_name [20]; for (i=1;i=10;i++) /*10人参选/* { scanf (“%s”,leadar-name); for (i=0;j3; j++) /*对照选票的是谁的*/ if (strcmp (leader-name, leader [j] .name)==0) leader [i]· count ++; } printf(“\n”); for (i=0;i3;i++) printf (“%5s:%d\n”, leade[i]. name, leade[i].count); } 练习:分析下列运算的含义: p-n p-n++ P356 - 的优先级高于++ ++p-n 思考:输入输出结构体数组元素还有其他表示方法吗? 有,前面所介绍的 struct student /*↖当要在其它函数中应用时,必须在主函数之外定义它!!!*/ struct student /*↖当要在其它函数中应用时,必须在主函数之外定义它!!!*/ 引用数组元素是利用数组名和元素的下标.如,a[i]表示数组a的第i个元素 引用结构体变量的成员是利用结构体变量名和结构体变量的成员名. 结构体变量的每个成员都是一个变量!!! 共59个字节!!! 与数组一样结构体的每个成员都是普通变量,可以存放数据,输入输出 一 结构体类型定义: 指出的是此类型的变量都包含几个成员,这些成员都是什么类型? 二 结构体类型的变量定义 如, struct student stu1,stu2; 它说明结构体变量stu1包含了6个成员分别是: int num; char name[20]; char sex; int age; float score; char addr[30]; 结构体变量的每个成员都是一个变量!!! 建立链表的算法思想: 1)建立一个头指针。 2)总是把新结点连接在链尾. //head是链表的头指针 //p1总是指向新结点 //p2总是指向链尾 //放学生的学号 //结点个数初始化为0 Category:种类,范畴 例11.11 保序插入给定结点的函数: //函数功能: 保序插入给定的结点 //入口参数: 链表的头指针和给定结点的地址 //返回值: 链表的头指针 STUNODE *inser

文档评论(0)

ganpeid + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档