结构和其它数据形式.pptVIP

  1. 1、本文档共55页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
本章主要内容 关键字 struct,union,typedef 运算符:. - 什么是C语言中的结构 如何访问结构成员,如何编写处理结构的函数? C语言的typedef的工具 联合及指向结构的指针 概 述 设计程序最重要的一步是设计一个较好的表示数据的方法。使用简单的表示数据的方法可以解决全部问题,但是在解决问题的过程中可能会使问题复杂化。 C使用结构变量就是在使编程过程中处理数据简单化的基础上设计出来的。 结构化数据的表示方法起源于PASICAL语言,应此这种语言也就被称为结构化语言,C语言完全借鉴了这种结构化语言的方法创建出自己的结构化数据表示方法。 3.1 实例问题:创建图书目录 3.1 实例问题:创建图书目录 3.2 建立结构声明 结构声明是描述结构如何组合的主要方法: struct book { /* 结构模板:标记为book char title[MAXTITL]; char author[MAXAUTL]; float value; }; 3.3 定义结构变量 “结构”有两个意思。一个是“结构设计”结构设计只是告诉计算机如何表示数据,但它没有为程序分配存储空间,第二步可以创建结构变量,为数据分配存储空间。例:struct stuff library 分配空间如下: 3.3 定义结构变量-初始化结构 结构化成员可以使用逗号分隔符的定义进行初始化。例:在上述结构化过程中可以使用下述方法初始化: Struct book library={ “the pirate and the devious damsel”, “renee vovotte”, 1.95 }; 3.3 定义结构变量-访问结构成员 结构成员的访问可以使用结构变量名和结构成员分量的方法访问。例: library.value//这里的value 扮演着下标的角色。 library.title gets(library.title) scanf(“%f”,library.value); 结构可以看成是一个超级数组,在这个超级数组中,每种类型的成员占有一片连续的存储空间。通过“.”命令实际上是把这些存储空间分离开分别访问。 3.3 定义结构变量-结构的指定初始化项目 结构的指定初始化可以采用如下的方法: 只初始化value的值:struct book surprise={.value=10.99}; 还可以使用任意的顺序初始化项目: Struct book gift={.value=18.90, .author=“philionna pestle”, .0.25}; 上述过程将值赋给value替换已赋值的18.9应为他的位置紧跟着author项。 3.4 结构数组 3.4 结构数组-声明结构数组 struct book library[MAXBKS]; 3.4 结构数组-标示结构数组成员 library[0].value//第一个数组元素的value成员 library[4].title//第五个数组元素的title成员 library[2].title[4]//title成员数组中的一个字符 总结上述结果: library //book结构数组 library[2] //数组元素,应此是一个book结构 library[2].title //char数组(library[2]的title成员) library[2].title[4] //title成员数组中的一个字符 上述程序讨论: 插入一个循环读取多个输入项,循环由while 开始 while (count MAXBKS gets(library[count].title) != NULL library[count].title[0] != \0) 表达式: gets(library[count].title) 读入一个字符串作为书名:如果gets( )试图超出文件结尾读取字符,这个表达式的值为null。 表达式: library[count].title[0] != ‘\0’ 检测字符串第一个字符是否为空字符。也就是字符串是否为空 3.5 嵌套结构 3.6 指向结构的指针 使用指向结构的指针有三个优势: 类似于指向数组的指针,操作更方便。特别是在排序操作过程中。 结构被作为指针被传递便于更快的运算过程和节省操作空间。 很多技巧较好的数据过程都采

文档评论(0)

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

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

1亿VIP精品文档

相关文档