如果您无法下载资料,请参考说明:
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
实名认证
内容提供者
最近下载
最新上传
高平市第一中学2023年高三综合题(三)物理试题.doc
鄂尔多斯市第一中学2022-2023学年高三3月份两校联考物理试题.doc
迪庆市重点中学2023届高考物理试题命题比赛模拟试卷(31).doc
赣州市红旗实验中学2023届高三下学期第一次模拟-物理试题试卷.doc
福建莆田秀屿下屿中学2023年高三高考考前指导卷(2)物理试题.doc
福建省龙海市第二中学2023年高三下学期第一次适应性考试物理试题.doc
福建省龙岩高中2023届高三第三次教学质量监测物理试题试卷.doc
福建省龙岩市龙岩第一中学2023届高三3月新起点考试物理试题.doc
福建省龙岩市龙岩一中2022-2023学年5月高三联考物理试题试卷.doc
福建省龙岩市长汀县新桥中学2023年下学期高三联考物理试题.doc