网站大量收购闲置独家精品文档,联系QQ:2885784924

《C语言程序设计》课件4第10章.pptVIP

  1. 1、本文档共54页,可阅读全部内容。
  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文档。上传文档
查看更多

第10章结构体与共用体

10.1结构体类型

10.2共用体

10.3用typedef定义已有类型的别名

10.4案例学习

10.1结 构 体 类 型

10.1.1结构体类型的定义

结构体类型定义的一般形式是:

例如学生类型的定义:

这样就定义了一种结构体数据类型structstudent。采用

同样的方法可以定义日期结构体类型:

10.1.2结构体变量

1.定义结构体类型的变量

定义结构体变量有三种方法:

(1)利用已定义的结构体类型名定义变量。

struct结构体名变量名表;

例如:structstudentstu1,stu2,stu3;

(2)在定义结构体类型的同时定义结构体变量。

struct结构体名

{成员定义表;

}变量名表;

例如:

(3)直接定义结构体类型变量。

struct

{成员定义表;

}变量名表;

例如:

2.结构体变量的初始化

结构体变量的初始化与一维数组类似,一般形式为:

结构体变量名={初值表};

例如:

structstudentstu1={1002021,“Liming”,‘M’,19,95.5};

如果初值个数少于结构体成员个数,则将无初值对应的

成员赋以0值;如果初值个数多于结构体成员个数,则编译

出错。

3.结构体变量成员的引用

结构体变量成员引用的一般形式如下:

结构体变量名.成员名

其中的“.”是成员运算符,运算优先级别最高。

例如:stu1.num=1002032将把1002032赋值给结构体变量

stu1的num成员。

另外,也可以用指针来引用结构体变量的成员。例如:

4.结构体变量的运算

(1)同类型结构体变量之间可以相互赋值。

(2)用sizeof运算符计算结构体变量所占的内存空间。

(3)可以用取地址运算符对结构体变量进行取址运算。

【例10-1】结构体变量的运算。

图10.1例10-1运行结果

10.1.3特殊的结构体成员——位段

1.位段的定义

在结构体中可以以位为单位来指定其成员所占的内存长

度,这种以位为单位的成员称为位段。一个位段由一位或若

干位组成。在定义位段的时候,位段名后面加冒号,冒号后

指出位段的位数。

例如:

图10.2位段的图示

2.位段的使用

【例10-2】输入一个学生信息再将其输出。学生信息

包括学号(num)、姓名(name)、性别(sex)、出生日期(birthday)、

成绩(score),要求性别和出生日期用位段表示。

图10.3例10-2运行结果

10.1.4结构体数组

1.结构体数组的定义

定义结构体数组和定义普通数组方法相同,只要用一个

方括号指明是数组,并且给出数组的大小即可。和定义结构

体变量一样,定义结构体数组也有三种方法:

(1)利用已定义的结构体类型名定义结构体数组。

(2)在定义结构体类型的同时定义结构体数组。

(3)直接定义结构体类型变量。

例如:

2.结构体数组的初始化

【例10-3】结构体数组。

图10.4例10-3运行结果

10.1.5结构体与函数

【例10-4】编制一个复数加法函数,采用值传递的方

法传送数据。

图10.5例10-4运行结果

10.2共用体

10.2.1共用体类型的定义

共用体类型定义的一般形式如下:

下面是对共用体类型定义的一些说明:

(1)union是定义共用体类型的关键字,共用体名是用户

定义的类型标识。

(2)共用体名和成员名的命名规则和变量名的命名规则

相同。

(3)成员的数据类型可以是C语言所允许的任何数据类型。

例如:

10.2.2共用体变量

1.定义共用体类型的变量

共用体变量的定义与结构体变量的定义相似,也有三种

方法:利用已定义的共用体类型名定义变量、在定义共用体

类型的同时定义变量、直接定义共用体类型变量。定义共用

体变量之后,系统按照共用体类型的组成,为定义的共用体

变量分配内存单元。共用体变量所占内存大小等于共用体中

占用内存的长度最长的成员的内存大小。

例如:

2.共用体变量成员的引用

例如:

3.共用体变量的运算

(1)同类型共用体变量之间可以相互赋值。

(2)用sizeof运算符计算共用体变量所占内存空间。

(3)可以用取地址运算符对共用体变量进行取址运算。

【例10-5】共用体变量的

文档评论(0)

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

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

1亿VIP精品文档

相关文档