C语言程序设计与数据结构 -刘信杰 C语言程序设计与数据结构 课件第09章.ppt

C语言程序设计与数据结构 -刘信杰 C语言程序设计与数据结构 课件第09章.ppt

  1. 1、本文档共75页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言程序设计与数据结构 第九章 结构体与共用体 总体要求: 掌握结构体的概念; 掌握结构体成员的引用; 学会使用typedef声明数据类型的别名。 学习重点: 结构体的概念; 结构体成员的引用。 结构体概念的引入 (为什么需要结构体?) 已经学习过的数据类型: 整形、实型、字符型 ,另外还有数组。 问题: 以上数据类型和数组是否完全满足编程需要? (例如:如何定义一个工人变量?) 工人包含有多个属性,比如姓名、性别、年龄、工号、工资等等,我们无法简单的用某一种数据类型或者数组来实现 。 解决方法: C语言中引入了一种新的数据结构,称为“结构体”。 它可以把若干个有内在联系的数据组合在一起,形成 一个有机整体。 通过结构体,我们就可以方便的来描述工人,它由若干数据项组成,包括: 姓名(name):字符串 性别(sex):字符型 年龄(age):整型 工号(number):整型 工资(salary):实型 上述五个数据项组成了工人的整体,这就是一个结构体类型的数据,我们可以给这个数据命名为worker,只要是worker类型的数据,都包括这五个数据项。 9.1 结构体类型的说明 结构体类型是包含若干个相同或不同数据类型数据项的集合,我们把这些数据项称之为结构体成员,声明结构体类型的一般形式为: struct 结构体标识名 { 数据类型名1 结构体成员名表1; 数据类型名2 结构体成员名表2; ..... 数据类型名n 结构体成员名表n; }; 说明: (1) 句首struct是关键字,是声明结构体类型的标识符。“结构体标识名”定义的是结构体的名字,它是可选项,可以不出现;“结构体成员名表”由多个成员名组成,彼此之间用分号隔开,两者都要符合标识符的命名规则。 (2) 结构体中定义的所有成员都用大括号括起来,成员名可以与程序中其他变量相同。 (3) 结构体中的“数据类型名”可以是基本类型,也可以是构造类型(如数组),还可以是已经定义的其他结构体类型。 (4) 结构体类型的定义只是创建了一种模式,表示该结构体的组成情况。结构体定义结束后,系统并没有为该结构体分配相应的空间;只有在我们使用这种结构体进行定义变量后,系统才为结构体变量分配存储空间。 上述工人(worker)结构体类型可以声明为: struct worker { char name[20]; char sex; int age, number; float salary; }; 9.2 结构体变量 9.1.2 结构体变量定义、初始化及引用 1.结构体变量的定义 结构体变量的定义通常有以下几种方法: (1) 首先说明某种结构体类型,然后紧跟在结构体类型说明之后定义变量。 定义的一般形式如下: struct [结构体名] {数据类型名1 结构体成员名表1; 数据类型名2 结构体成员名表2; ┇ ┇ 数据类型名n 结构体成员名表n; }变量名表; 例如,我们想定义上述“worker”结构体类型的变量,可以这样写: struct worker { char name[20]; char sex; int age, number; float salary; }worker1; 从上面我们可以得知,在声明worker结构体类型的同时,我们定义了结构体变量worker1。每一个结构体变量在定义之后都会分配一块连续的内存空间。 变量worker1存放的是一组数据,具体来说就是一个工人的信息,各个成员按照在结构体声明中的顺序依次在内存中进行排放。 (2)在说明某一个结构体类型的同时,不给该结构体类型命名,而直接进行变量定义。 例如,我们想定义上述“worker”结构体类型的变量,可以把worker省略,写成: struct { char name[20]; char sex; int age, number; float salary; }worker1; 这一种定义方式和上一种类似,只是省略了结构体标识名。如果只定义一次这种结构体类型的变量,可以使用这种方式。 (3)先声明某种结构体类型,再定义这种结构体类型的变量。 例如,先对worker结构体进行声明, struct worker { char name[20]; char sex; int age, number; float salary; }; 然后定义worker结构体类型的变量: struct worker worker1; 使用这种方式定义变量应该注意:

文档评论(0)

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

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

1亿VIP精品文档

相关文档