(第8章C语言计算机二级结构体和共用体.pptVIP

(第8章C语言计算机二级结构体和共用体.ppt

  1. 1、本文档共49页,可阅读全部内容。
  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语言计算机二级结构体和共用体

学习目标 掌握结构体类型、结构体变量、结构体数组的定义 掌握结构体变量指针、结构体数组元素指针等基本概念 掌握结构体指针的声明、初始化、赋值及引用 了解共用体类型的定义、共用体变量的声明、赋值及使用 了解枚举类型的定义、枚举类型变量的声明、赋值及使用 理解typedef的功能 8.1 结构体 数组中各元素是属于同一个类型。 若要将不同类型的数据组合成一个有机的整体,例如:姓名、年龄、性别、成绩组合为一个组合项,C用结构体来建立这种数据结构。 8.1.1 结构体类型 一个结构体类型可以由若干个被称为成员(或域)的成分组成。 每个成员具有自身的名字和数据类型,同一结构中的成员名不能相同。例如一个学生的信息,它包括以下5项: (1) 学号:用5位数字表示,长整型; (2) 姓名:用汉语拼音表示,最多20个字符; (3) 性别:用M或F表示,分别表示男或女; (4) 生日:表示年月日; (5) 地址:用字符数组表示,最多30个字符。 8.1.2 结构体类型的声明 一个结构体类型的一般形式为: struct 结构体名 { 类型名1 成员名1; 类型名2 成员名2; … 类型名n 成员名n; }; 例如: struct stu { long int num; /* 学号 */ char name[20]; /* 姓名 */ char sex; /* 性别 */ unsigned long birthday; /* 生日 */ char addr[30]; /* 地址 */ }; 说明: (1) 结构体声明描述了结构体的组织形式,但在编译时并不为它分配存储空间。 (2) 结构体的成员可以是简单变量、数组、指针、结构体或共用体等。 (3) 结构体不可嵌套定义,但可以嵌套使用,例如: struct date { int day; char month[4]; int year; }; struct student { long int num; char name[20]; char sex; struct date birthday; /* 结构体成员是另一种结构类型,结构体在此嵌套 */ char *addr; }; 8.1.3 结构体变量 一、结构体变量的定义 可以采取以下三种方法定义结构体类型变量。 1.在声明结构体类型的同时定义变量。例如: struct student { long int num; char name[20]; char sex; int age; float score; }s1,s2,s3; 声明结构体类型的同时定义结构体变量的一般形式为: struct 结构体名 { 类型名1 成员名1; 类型名2 成员名2; … 类型名n 成员名n; }变量名1,变量名2,…变量名m; 特点:定义一次结构体变量之后,在该定义之后的任何位置仍可用该结构体类型来定义其它结构体变量。 2.直接定义结构类型变量 例如: struct { long int num; char name[20]; char sex; int age; float score; }stu1,stu2,stu3; 3.先声明结构体类型再定义变量名 例如: struct student { long int num; char name[20]; char sex; int age; float score; }; struct student stu1,stu2,stu3; 注意: (1) 定义一定要在结构体声明之后或与结构体声明同时进行,对尚未声明的结构体类型,不能用它来定义结构体变量。 (2) 存储空间分配是按照其对应的各成员项的定义顺序进行的。 (3) 同一结构类型的每个结构体变量,存储空间的大小都相同,是各成员项所占空间之和。例如: sizeof(stu1)的值为31; sizeof(struct student)的值为31; sizeof(float)的值为4。 (4) 结构体变量中的成员可以单独使用,地位与一般变量相同。 (5) 结构体变量一般不用register型。 二、结构体变量的初始化 struct student { long int num;

文档评论(0)

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

分享好文档!

1亿VIP精品文档

相关文档