上次课程还是存在不能输出的问题.doc

上次课程还是存在不能输出的问题.doc

ID:62035635

大小:50.00 KB

页数:19页

时间:2021-04-15

上次课程还是存在不能输出的问题.doc_第1页
上次课程还是存在不能输出的问题.doc_第2页
上次课程还是存在不能输出的问题.doc_第3页
上次课程还是存在不能输出的问题.doc_第4页
上次课程还是存在不能输出的问题.doc_第5页
资源描述:

《上次课程还是存在不能输出的问题.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第9次课程性质:新课复习上次课程还是存在不能输出的问题,主要是大家的格式用错。上次作业讲解:作业中,print函数用于输出链表中各个结点数据域值。函数的形参head的初值指向链表第一个结点。在while语句中,输出结点值后,head值被改变,指向下一结点。若保留头指针head,则应另设一个指针变量,把head值赋予它,再用它来替代head。在main函数中,n为建立结点的数目,num为待删结点的数据域值;head为指向链表的头指针,pnum为指向待插结点的指针。main函数中主要行的意义是:第六行输入所建链表的结点数;第七行调creat函数建立链表并把头指针返回给

2、head;第八行调print函数输出链表;第十行输入待删结点的学号;第十一行调delete函数删除一个结点;第十二行调print函数输出链表;第十四行调malloc函数分配一个结点的内存空间,并把其地址赋予pnum;第十五行输入待插入结点的数据域值;第十六行调insert函数插入pnum所指的结点;第十七行再次调print函数输出链表。从运行结果看,首先建立起3个结点的链表,并输出其值;再删103号结点,只剩下105,108号结点;又输入106号结点数据,插入后链表中的结点为105,106,108。新课导入在实际问题中有很多这样的例子:如在学校的教师和学生中填写以

3、下表格:姓名年龄职业单位.“职业”一项可分为“教师”和“学生”两类。“单位"一项学生应填入班级编号,教师应填入某系某教研室。班级可用整型量表示,教研室只能用字符类型.要求把这两种类型不同的数据都填入“单位”这个变量中,就必须把“单位”定义为包含整型和字符型数组这两种类型的“联合”。同时除了结构外C还可以定义其它一些类型,如共用型等,还可以实现一般在汇编才可以实现的功能,如位运算等。重点:共用型的定义、引用难点:什么时候用这些方法本次课程主要内容组织图:上次课程作业讲解共用型共用型和结构的比较枚举类型位运算案例讲解正课10.3杂类一、共用型又可以称为“联合",是一种

4、构造类型的数据结构。在一个“联合”内可以定义多种不同的数据类型,一个被说明为该“联合”类型的变量中,允许装入该“联合”所定义的任何一种数据。这在前面的各种数据类型中都是办不到的.例如,定义为整型的变量只能装入整型数据,定义为实型的变量只能赋予实型数据。1、概念使几个不同的变量占用同一段内存空间的结构称为共用型。2.共用类型的定义──与结构类型的定义类似union共用类型名{成员列表;};3.共用变量的定义──与结构变量的定义类似(1)间接定义──先定义类型、再定义变量例如,定义data共用类型变量un1,un2,un3的语句如下:uniondataun1,un2,

5、un3;(2)直接定义──定义类型的同时定义变量例如,union[data]{inti;charch;floatf;}un1,un2,un3;共用变量占用的内存空间,等于最长成员的长度,而不是各成员长度之和。例如,共用变量un1、un2和un3,在16位操作系统中,占用的内存空间均为4字节(不是2+1+4=7字节)。如下图fchifchiab共用体变量定义分配内存,长度=最长成员所占字节数共用体变量任何时刻只有一个成员存在4.共用变量的引用──与结构变量一样,也只能逐个引用共用变量的成员例如,访问共用变量un1各成员的格式为:un1。i、un1。ch、un1。f。

6、5.特点(1)系统采用覆盖技术,实现共用变量各成员的内存共享,所以在某一时刻,存放的和起作用的是最后一次存入的成员值。例如,执行un1。i=1,un1。ch=’c',un1。f=3.14后,un1.f才是有效的成员。(2)由于所有成员共享同一内存空间,故共用变量与其各成员的地址相同。例如,&un1=&un1。i=&un1.ch=&un1.f。(3)不能对共用变量进行初始化(注意:结构变量可以);也不能将共用变量作为函数参数,以及使函数返回一个共用数据,但可以使用指向共用变量的指针.(4)共用类型可以出现在结构类型定义中,反之亦然。0110000101000001低

7、字节高字节0100000101100001ch[0]ch[1]6、案例:将一个整数按字节输出main(){unionint_char{inti;charch[2];}x;x.i=24897;printf("i=%o”,x.i);printf("ch0=%o,ch1=%och0=%c,ch1=%c",x。ch[0],x.ch[1],x。ch[0],x。ch[1]);}运行结果:i=60501ch0=101,ch1=141ch0=A,ch1=a7、结构体与共用体1、比较区别:存储方式不同联系:两者可相互嵌套如下图structnode{charch[2];i

8、ntk;}

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。