C语言程序设计第二版 课件及实例-夏宽理赵子正编著 第7章 结构和链表.ppt

C语言程序设计第二版 课件及实例-夏宽理赵子正编著 第7章 结构和链表.ppt

  1. 1、本文档共115页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章 结构和链表 7.1 结构类型和结构变量 7.2 结构数组 7.3 结构与函数 7.4 链表 *7.5 联合 7.6 位域 7.7 枚举 7.8 类型定义 7.9 变量定义 7.1 结构类型和结构变量 基本类型:如整型、实型、字符型等。 构造类型:数组,每个元素都是属于同一个类型。 结构类型:不同的数据类型组成一个整体方便引用。 例如:一个学生数据实体可能有以下多项信息 学号、 姓名、 性别、 年龄、 成绩、 家庭地址 int char char int float char 说明:这类实体的数据因所包含的成员类型不同,不能用单个数组来表示,也不便将它们的成员分拆成多个独立的简单变量,因为这样会失去实体的整体性。 1. 结构类型 结构类型形式: struct 结构类型名 { 成员说明表 }; 其中 关键字“struct”:引出结构类型的定义。 结构类型名:结构类型的标记,用来定义引用该结构的结构变量。 成员说明表:指明该结构类型的各成员的数据类型和名称。 每个成员的说明形式为: 类型 成员名; 结构类型例 【例】学生基本信息的结构类型: struct student { int number; /* 学号 */ char name[20]; /* 姓名,设姓名少于20个字符 */ char sex; /* 性别 */ char address[40]; /* 家庭地址 */ }; 说明:在C++中,如果不会引起混淆(例如,结构类型与结构变量同名),引用结构类型可以不用struct引导。 嵌套的结构类型 当结构类型中的某个成员又是另一个结构类型时,这种结构类型是一种嵌套的结构类型。 例如,给上述学生信息增加出生日期,并将出生日期定义为一种包含日、月、年3项信息的结构类型,则更完整的学生信息类型就被定义成嵌套的结构类型。 嵌套的结构类型例 struct Date { int day; /* 日 */ int month; /* 月 */ int year; /* 年 */ }; struct student { int number; /* 学号 */ char name[20]; /* 姓名 */ char sex; /* 性别 */ struct Date birthday; /*嵌套 Date结构 */ char address[40]; /* 家庭地址 */ }; 2. 结构变量 在结构类型定义中,详细列出了结构类型所包含的每个成员的名称及其类型。实际上,结构类型定义只是表明一类实体其数据属性的“模式”,并不定义一个特定的数据实体,因此不要求分配存储单元。 程序如果要实际使用结构类型所描述的数据信息,就必须定义结构变量。 结构变量要占用存储单元,能存放如结构类型所描述的具体数据。 对结构类型和结构变量,我们可以简单地理解为,结构类型是表示数据框架的描述文本,结构变量才能存放实际数据。 结构变量的定义 一、先定义结构类型,再声明结构变量 形式:struct 结构类型名 结构变量名表; 例如:利用前面已定义的结构类型 student声明结构变量 代码: struct student st1, st2; 其中: student为结构类型名,st1和st2为结构变量。 说明:结构变量声明后,每个结构变量的成员名称、成员个数和各成员的数据类型与结构类型定义中的成员名称、成员个数和各成员的数据类型相一致。 结构变量内存分配单元 结构变量的定义 二、在定义结构类型的同时声明结构变量 结构变量初始化 在定义结构变量的同时给它赋初值,称为结构变量的初始化。结构变量初始化时,要按结构类型定义中成员的顺序逐一给出各成员的初值。 例如:struct point /* 说明绘图程序的坐标类型 */ { int x; int y; } p1 = { 20, 50}, p2; /* p1的x值为20,p1的y值为50 */ 说明:也可以在定义结构类型与声明结构变量分开的情况下,在声明结构变量时进行初始化。 例如: struct point

文档评论(0)

118压缩包课件库 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档