08章-结构体类型和联合体类型——C语言程序设计技术讲解学习.ppt 立即下载
2024-12-03
约2.4千字
约36页
0
390KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

08章-结构体类型和联合体类型——C语言程序设计技术讲解学习.ppt

08章-结构体类型和联合体类型——C语言程序设计技术讲解学习.ppt

预览

免费试读已结束,剩余 31 页请下载文档后查看

10 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

程序设计技术结构体类型和联合体类型8.1结构体类型的基本概念8.1.1结构体类型和变量的定义定义结构体类型变量的三种方法
先定义结构体类型,然后定义变量
同时定义结构体类型和变量
只定义结构体类型变量结构体类型的嵌套定义
结构体类型可以嵌套定义,即定义的一个结构体类型的成员中可以有属于另外一个已经定义完成的结构体类型的变量。为已经存在的数据类型取别名
typedef数据类型名别名;
例:typedefintINTEGER;
则:intj,k;等价于INTEGERj,k;
定义构造类型时为这些类型取别名
typedefstruct结构体名
	{
		结构体成员列表;
	}结构体类型别名;
注意:定义别名后,程序中可使用原类型名或别名定义变量,别名习惯上用大写字母。8.1.2关键字typedef的简单应用使用typedef构造复杂数据类型
构造指定长度的字符串数据类型
	typedefcharString[100];
	String是字符串数据类型的类型名。
Strings1;等价于chars1[100];
构造指针数据类型
typedefint*IP;
	定义IP为整型的指针类型。
IPp1,p2;等价于int*p1,*p2;
例8-1用typedef构造指定长度的字符串类型
例8-3用typedef构造指针数据类型。8.1.3结构体变量的引用和输入输出特别提示:嵌套的结构体成员分量的数据类型与最后一个成员分量的数据类型一致。
例:设有结构体类型及变量定义
structA
{intx;
floaty;
};
structB
{structAa;
charc;
};	结构体变量的初始化
	定义结构体变量的同时初始化:
	struct标识符变量名={结构体变量成员值列表};
structstudentstu2,stu1=
{5001,1988,12,30,”Liwei”,19,'m',”12songlin”,65102621};
stu2=stu1;//两个同类型结构体变量的整体赋值
结构体变量的输入输出
结构体变量不能作为一个整体进行输入或输出。只能将结构体变量的成员作为输入输出的对象。8.1.4结构体变量作函数参数8.1.5结构体作函数的返回值类型结构体类型和联合体类型结构体数组的概念
结构体数组中的每一个数组元素都是具有相同结构体类型的结构体变量。
如一个班的学生档案,某单位的工资表。
结构体数组的定义
	定义结构体数组的方式与定义结构体变量相同,只须说明它为数组类型。也有三种方法:
	struct结构体名数组名[常量表达式];
使用typedef为结构体类型名取别名来定义结构体数组。
STUstu1[30];结构体数组的初始化	
定义结构体数组的同时进行初始化
初始化的一般形式为:
struct结构体名数组名[]={初始化数据列表};结构体数组元素的引用
一个结构体数组元素就相当于一个结构体变量,其引用某一元素成员的方法与引用结构体变量成员的方法相同。其形式为:
			数组名[下标].成员名
不能将结构体数组元素作为一个整体直接进行输入输出
可以将一个结构体数组元素作为一个整体赋给同一结构体数组的另外一个元素,或赋给一个同类型的结构体变量。
例8-8结构体数组操作示例结构体数组作函数参数
	结构体数组可以作为函数的参数在函数间进行传递。使用结构体数组作为函数参数时,实现的是“传地址值调用”。即实参数组将全部或部分存储区域提供给形参数组共享。结构体类型和联合体类型8.3.1结构体类型与指针的关系structperson
{charname[20];
intcount;
}stu,*p=&stu;用结构体指针作为函数的参数
用指向结构体变量的指针
	作为函数的参数,实现的
	是“传地址值调用”,可以
	提高程序的执行效率。8.3.2结构体数组与指针的关系指向结构体数组的指针
指针指向某结构体数组的首地址(指针未移动)结构体类型和联合体类型8.5联合体数据类型的基本概念8.5.1联合体类型的定义和变量引用定义联合体变量的三种方式
先定义联合体类型,后定义联合体类型变量;
		union联合体名
		{	成员列表;};
		union联合体名变量列表;
同时定义联合体类型和联合体类型变量;
		union联合体名
		{	成员列表;}变量列表;
直接定义联合体类型变量;
		union
		{	成员列表;}变量列表;同时定义联合体类型和变量
uniontest
{inta;
longb;
}key;
定义了一个联合体类型uniontest和该类型的联合体类型变量key,
32位系统中该类型所占的存储单元长度为8个字节,由变量key的两个成员分量分时复用(共享)。联合体变量的引用
联合体变量不能直接用于操作处理,只能操作它的成员。引用
查看更多
王子****青蛙
实名认证
内容提供者
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

08章-结构体类型和联合体类型——C语言程序设计技术讲解学习

文档大小:390KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用