第10章 结构体共用体第10章 结构体与共用体.doc

第10章 结构体共用体第10章 结构体与共用体.doc

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第10章 结构体与共用体 考核知识点 结构体与共用体类型数据的定义方法和引用方法 用指针和结构体构成链表,单向链表的建立、输出、插入与删除 重要考点 对结构体的声明及定义 访问结构体的成员的方法 熟悉对链表的操作 10.1 用typedef说明一种新类型名 C语言规定可以用typedef说明一种新的类型名,说明新类型名的语句一般形式为: typedef 类型名称 标识符; 其中,“类型名”一定是在此语句之前已有定义的类型标识符。“标识符”是一个用户定义标识符,用来标识新的类型名。typedef语句的作用仅仅是用“标识符”来代表已存在的“类型名”,并没有产生新的数据类型,因此,原有的类型名依然有效。 提示: 声明一个新的类型名的具体步骤如下: ⑴先按定义变量的方法写出定义的主体(如float a;). ⑵将变量名换成新类型名(如将a换成FLO)。 ⑶在最左面加上关键字typedef(如typedef FLO). ⑷然后可以用新类型名去定义其他的变量(如 FLO b;). 10.2 结构体类型 在实际工作中,当我们需要把一些不同类型,但相互之间又存在着联系的信息组合应用时,就要用到结构体。结构体是一种看似复杂却非常灵活的构造数据类型。在通常情况下,一个结构体类型由若干个称为成员(或称为域)的部分组成。不同的结构体类型可根据需要由不同的成员组成。但对于某个具体的结构体类型,其成员的数量必须固定,这一点与数组相同;但结构体中各个成员的类型可以不同,这是结构体与数组的重要区别。例如,我们常用的“时间”可以由以下3个部分描述:小时(hour)、分(minute)、秒(second)。它们都可以用整型数表示,可以把这3个成员组成一个整体,并给它取名为time,这就是一个简单的结构体。 声明一个结构体类型的一般形式为: struct 结构体名 {成员表列}; struct是C语言中的关键字,是结构体类型的标志。“结构体名”用做结构体类型的标志,它又称“结构体标记”(structure)。大括号内是该结构体中各成员,成员表列是由若干个变量类型名及变量名组成的。这些成员共同组成一个结构体。例如,上面提到的“时间”结构体类型可以说明如下: struct time { int hour; int minute; int second; }; 其中,time就是结构体名,hour、minute、second都是成员,并且都应进行类型声明,每个成员也就是结构体中的一个域。成员的命名规则与变量名相同。所以结构体类型刀可以用以下形式说明: struct 结构体标识名 { 类型名1 结构体成员名表1; 类型名2 结构体成员名表2; ... 类型名n 结构体成员名表n; } 说明: ⑴“结构体标识名”和“结构体成员名表”都必须是合法的用户定义的标识符。 ⑵每个“结构体成员名表”中都可以含有多个同类型的成员名,它们之间以逗号分隔。 ⑶结构体类型说明中的“类型名1”~“类型名n”,不仅可以是简单数据类型也可以是某种结构体类型。当结构体说明中又包含结构体时,称为结构体的嵌套。 ⑷ANSI C标准规定结构体至多允许嵌套15层,并且允许内嵌结构体成员的名字与外层成员的名字相同。 10.3 结构体类型变量的定义 前面只是指定了一个结构体类型,为了能在程序中使用结构体类型的数据,就需要定义结构体类型的变量,并在其中存放具体的数据。可以用如下方法定义结构体类型变量。 一、先声明结构体类型再定义变量名 如上面已经定义了一个结构体类型 struct time,可以如下定义: struct time time1,time2; 结构体类型名 结构体变量名; time1和time2为struct time类型变量,即它们都具有struct time类型的结构。 二、在声明类型的同时定义变量 其一般形式为: struct 结构体名{成员类型} 变量名表列; 三、直接定义结构体类型变量 其一般形式为: struct{成员表列}变量名表列; 即不出现结构体名。 提示: 类型与变量是两个不同的概念,使用时应注意区别。只能对变量赋值、存取或运算,而不能对一个类型进行赋值、存取或运算。可以单独使用结构体中的成员,它与普通变量的作用相同。 10.4 结构体变量的引用 在定义了结构体变量以后,当然可以引用这个变量。但应注意: 1.结构体变量不能作为一个整体而对其进行任何操作,只能对结构体变量中的各个成员分别进行输入和输出等操作。结构体变量中的成员用以下方式引用: 结构体变量名.成员名 2.如果结构体的某个成员本身又是一个结构体类型,则可以使用若干个成员运算符“.”,一级一级地找到最低的一级成员,只能对最低一级成员进行赋值或存取及运算。 3.结构体变量的初始化,是指逐

文档评论(0)

ymeioxianw + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档