结构体与共用体.ppt
上传人:sy****28 上传时间:2024-09-14 格式:PPT 页数:47 大小:1.6MB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

结构体与共用体.ppt

结构体与共用体.ppt

预览

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

16 金币

下载此文档

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

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

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

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

软件设计基础第11章结构体与共用体第11章结构体与共用体例structstudent{intnum;charname[20];charsex;intage;floatscore;charaddr[30];};例structstudent{intnum;charname[20];charsex;intage;floatscore;charaddr[30];};structstudentstu1,stu2;定义结构体类型的同时定义结构体变量一般形式:直接定义结构体变量一般形式:说明结构体类型与结构体变量概念不同类型:不分配内存;变量:分配内存类型:不能赋值、存取、运算;变量:可以结构体可嵌套结构体成员名与程序中变量名可相同,不会混淆结构体类型及变量的作用域与生存期结构体变量的引用引用规则结构体变量不能整体引用,只能引用变量成员结构体变量的初始化形式一:形式二:形式三:11.2结构体数组结构体数组的定义三种形式:结构体数组初始化例统计后选人选票11.3指向结构体类型数据的指针指向结构体变量的指针定义形式: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");}11.4用指针处理链表线性表:元素类型相同的一组序列。顺序表:线性表的顺序存储(数组类型)。链表:线性表的链式存储(指针类型)。静态链表:元素空间在程序执行前开辟。动态链表:元素空间在程序执行过程中开辟。a1ZHAO静态链表处理动态链表所需的函数:动态链表-建立(表尾插入)链表的遍历(打印)链表的删除链表的插入(有序表)对链表的综合操作11.5共用体构造数据类型,也叫联合体用途:使几个不同类型的变量共占一段内存(相互覆盖)共用体类型定义定义形式:形式一:uniondata{inti;charch;floatf;}a,b;共用体变量引用引用方式:例将一个整数按字节输出结构体与共用体区别:存储方式不同例结构体中嵌套共用体例共用体中嵌套结构体,机器字数据与字节数据的处理枚举常量的值(默认)从左到右依