网站大量收购独家精品文档,联系QQ:2885784924

结构体与共用体.pptVIP

  1. 1、本文档共37页,可阅读全部内容。
  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文档。上传文档
查看更多
结构体与共用体

* * 第8章 结构体与共用体 概述 在事务处理中,常需要将一些关系密切但类型不同的 数据项组织在一起,并为其取一个整体名字,形成一 个结构。 C语言中,就称其为结构体。 结构体通常由不同数据类型的数据项(成员)组成 一个结构体可包含若干成员,每个成员具有自己 的名字及数据类型。 结构体类型的定义 和简单类型不同,结构体类型是根据需要由程序员 自行定义,因此在使用之前必须先定义结构体类型 一般格式: struct 结构体名 { 结构体成员表; }; struct是关键字,称为结构体定义标识符,而结构 体名则由程序员自己命名。大括号中的结构体成员 表包含若干成员,每一个成员都具有如下的形式: 数据类型标识符 成员名; 对一个学生的描述,其结构体类型定义如下: struct stud_type { char name[10]; long num; char sex; int age; float score[5]; char address[10]; }; 说明: (1)?定义一个结构体类型只是描述了此结构体的组织形式, 在编译时并不为其分配存储空间,即仅描述此数据结构 的形态或者说模型,故不能对定义的一个结构体类型进 行赋值、存取或运算。 (2) 结构体的成员可以是简单变量、数组、指针、结构体等。 (3) 结构体类型定义可以放在函数内部,也可以放在函数外部。 若放在内部,则只在函数内有效; 若放在外部,则从定义点到源文件尾之间的所有函数都有效。 (4) 结构体成员的名字可以同程序中的其它变量同名, 二者不会相混,系统会自动识别它。 结构体变量 结构体变量的定义 (1) 先定义类型再定义变量 struct stud_type { char name[10]; long num; char sex; int age; float score[5] ; }; struct stud_type student1, student2; (2) 在定义类型的同时定义变量 struct stud_type { char name[10]; long num; char sex; int age; float score[5] ; } student1, student2; (3) 直接定义结构体变量 struct { char name[10]; long num; char sex; int age; float score[5] ; } student1, student2; 说明: (1)??在定义结构体类型时,系统并不分配内存空间, 仅当定义结构体变量时,系统才为被定义的每 一变量分配相应的存储单元。 (2)??结构体变量的定义一定要在结构体类型定义之 后或同时进行,对尚未定义的结构体类型,不 能用它来定义结构体变量。 结构体变量的初始化 所谓结构体变量初始化,就是对其成员变量赋初值 在赋值时应注意按顺序及类型依次为每个结构体成 员指定初始值。 一般格式: struct 结构体类型名 结构体变量={初始化值列表}; 说明: (1) 初始化值列表中初始化数据之间用逗号分隔。 (2)?初始化数据的个数一般与成员的个数相同,若 小于成员数,则剩余的成员将被自动初始化为0。 (3)?初始化数据的类型要与相应成员变量的类型一致。 初始化时只能对整个结构体变量进行,不能仅对结 构体类型中的某些成员进行初始化赋值。 struct date_type { int year; int month; int day; }; struct stud_type { char name[10]; long num; char sex; struct date_type birthday; float score; }; main() { struct stud_type s1={wang,196103,m,1978,10,12,98 }; struct stu

文档评论(0)

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

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

1亿VIP精品文档

相关文档