您所在位置: 网站首页 / 第八章 结构与联合.ppt / 文档详情
第八章 结构与联合.ppt 立即下载
2024-12-08
约5.3千字
约49页
0
341KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

第八章 结构与联合.ppt

第八章结构与联合.ppt

预览

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

10 金币

下载文档

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

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

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

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

第八章结构与联合结构类型定义例structstudent
{intnum;
charname[20];
charsex;
intage;
floatscore;
charaddr[30];
};例structstudent
{intnum;
charname[20];
charsex;
intage;
floatscore;
charaddr[30];
};
structstudentstu1,stu2;定义结构类型的同时定义结构变量
一般形式:直接定义结构变量
一般形式:说明
结构类型与结构变量概念不同
类型:不分配内存;变量:分配内存
类型:不能赋值、存取、运算;变量:可以
结构可嵌套
结构成员名与程序中变量名可相同,不会混淆8.3结构变量的引用
引用规则
结构变量不能整体引用,只能引用变量成员
8.4结构变量的初始化
形式一:形式二:形式三:8.5结构数组
结构数组的定义
三种形式:结构数组初始化例统计候选人选票8.6结构和指针
指向结构变量的指针
定义形式:struct结构名*结构指针名;
例structstudent*p;指向结构数组的指针用指向结构的指针作函数参数
用结构变量的成员作参数----值传递
用指向结构变量或数组的指针作参数----地址传递
用结构变量作参数----多值传递,效率低structdata
{inta,b,c;};
main()
{voidfunc(structdata);
structdataarg;
arg.a=27;arg.b=3;arg.c=arg.a+arg.b;
printf("arg.a=%darg.b=%darg.c=%d\n",arg.a,arg.b,arg.c);
printf("CallFunc()....\n");
func(arg);
printf("arg.a=%darg.b=%darg.c=%d\n",arg.a,arg.b,arg.c);
}
voidfunc(structdataparm)
{printf("parm.a=%dparm.b=%dparm.c=%d\n",parm.a,parm.b,parm.c);
printf("Process...\n");
parm.a=18;parm.b=5;parm.c=parm.a*parm.b;
printf("parm.a=%dparm.b=%dparm.c=%d\n",parm.a,parm.b,parm.c);
printf("Return...\n");
}structdata
{inta,b,c;};
main()
{voidfunc(structdata*parm);
structdataarg;
arg.a=27;arg.b=3;arg.c=arg.a+arg.b;
printf("arg.a=%darg.b=%darg.c=%d\n",arg.a,arg.b,arg.c);
printf("CallFunc()....\n");
func(&arg);
printf("arg.a=%darg.b=%darg.c=%d\n",arg.a,arg.b,arg.c);
}
voidfunc(structdata*parm)
{printf("parm->a=%dparm->b=%dparm->c=%d\n",parm->a,parm->b,parm->c);
printf("Process...\n");
parm->a=18;parm->b=5;parm->c=parm->a*parm->b;
printf("parm->a=%dparm->b=%dparm->c=%d\n",parm->a,parm->b,parm->c);
printf("Return...\n");
}8.7动态存储分配和链表最简单的动态数据结构是如下图所示的链表。由于每个结点都是类型相同的一个结构变量,所以结点中指向下一个结点的指针是一个指向自身的结构指针,这样的结构称为引用自身的结构。任何动态数据结构的元素的数据类型一定是引用自身的结构(不是结构的递归定义,结构中不允许包含自身结构,但可以包含指向自身的结构指针)。
链表是动态数据结构最基本的形式,在应用软件和系统软件设计中是很有用的数据结构。我们主要学习单向链表的建立、输出、插入和删除的方法。用于动态存储分配的函数sizeof运算符
sizeof是一个单目运算符,用于计算一个对象的大小。它是在编译时执行的运算。
sizeof表达式有两种形式:
	sizeof(类型名或表达式)	或	sizeof表达式
其中“表达式”操作数可以是结果为任何数据类型的表达式;“(类型名)”操作数可以是除void之外的任何数据类型的类型名。类型名必须用()括起来,而表达式可以有或无()。
以“(类型
查看更多
my****25
实名认证
内容提供者
单篇购买
VIP会员(1亿+VIP文档免费下)

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

第八章 结构与联合

文档大小:341KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
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专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用