第十二章 结构体及共用体.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十二章 结构体及共用体

结构体与共用体 第一讲 内容 说明 主要 内容( 重点( 难点( 问题 提出 说明( 1.结构体的概念及其基本操作 2.结构体的引用方法 3.结构体数组的使用 例子: int a[5]; 通过举例说明定义结构体的必要性。 和基本类型变量进行比较分析,进一步说明必须定义结构体类型。 1.结构体的概念及基本操作 2.结构体的引用方法 结构体的概念及基本操作 前面已经介绍了基本数据类型──整型、浮点型、字符型,也介绍了一种构造类型──数组,数组中各元素是属于同一种类型的。 例如:一个学生的学号、姓名、性别、年龄、成绩、家庭地址等项,各项的数据类型并不相同(如下图) num name sex age score addr 10010 Li Fan m 18 88 chengde 如果将num、name、sex、age、score、addr分别定义为互相独立的简单变量,难以反映它们之间的内在联系,如何解决此类问题呢? 一、结构体类型引入 上例应该合数据组织成一个组合项,在一个组合项中包含若干个不同类型数据项,C语言没有提供这样的数据结构,因此用户必须在程序中建立所需结构体类型。 Struct student { int num; char name[20]; char sex; int age; float score; char addr[30]; }; Struct student是一个类型名, Struct 是一个关键字,标志着这是一个结构体类型。 二、声明一个结构体的形式 Struct 结构体名 {成员表列}; 其中,成员表列的格式为: 类型名 成员名; 三、定义结构体类型变量的方法 1.先声明结构体类型在定义变量名 已定义了一个结构体类型Struct student,可以用它定义变量。 内容 说明 比较( 说明( 举例( 举例( Struct student {int num; ┄ char addr[30]; }; Struct student student1,student2; 2.在声明类型的同时定义变量 Struct student {int num; ┄ char addr[30]; } student1,student2; 3.直接定义结构类型变量 Struct {int num; ┄ char addr[30]; } student1,student2; 关于结构体类型的说明: (1)类型与变量不同; (2)成员可单独使用,作用和地位相当于普通变量; (3)成员可以是一个结构体变量; Struct date { int month; int day; int year; } Struct student { int num; ┄ struct date birthday; char addr[30]; } student1,student2; (4)成员名可以和程序中的变量名相同,二者不代表用一个对象。 四、结构体变量的引用 结构体变量名.成员名 1.对结构体变量中的成员分别进行输入输出 2.成员本身是结构体类型,只能对最低级的成员进行赋值等运算。 3.对结构体成员的运算和普通变量一样进行各种运算。 4.可以引用结构体变量的地址,也可引用结构体变量成员的地址。 五、结构体变量的初始化 和其它变量一样,对结构体变量可以在定义时指定初始值。 例如 {struct student {long int num; char name[20]; 只能对变量赋值、存取或运算,类型不行。 先声明一个 Struct date 类型,然后在 Struct student类型时,将成员 Birthday定义为Struct date类型。 如: Student.num 内容 说明 引言( 举例( Char sex; Char addr[20]; }a={89031,“li lin”,‘M’,“123 beijing Road”}; 六、结构体数组 一个结构体变量中可以存放一组数据。如果有10个学生的数据需要参与运算,显然应该用数组,这就是结构体数组。 1.结构体数组的定义 Struct student {int num; ┄ char addr[30]; }; Struct student student[10]; 2.结构体数组的初始化 其初始化和数组的初始化相似。 3.结构体数组的应用举例 例 对候选人得票

文档评论(0)

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

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

1亿VIP精品文档

相关文档