2022-2023-1 20221313《计算机基础与程序设计》第十二周学习总结
2022-2023-1 20221313《计算机基础与程序设计》第十二周学习总结
作业信息
作业课程 | https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP |
---|---|
作业要求 | https://www.cnblogs.com/rocedu/p/9577842.html#WEEK12 |
作业目标 | 学习《C语言程序设计》第11章 |
作业正文 | https://www.cnblogs.com/lu-yu/p/16907386.html |
教材学习内容总结
《C语言程序设计》第11章:
介绍了指针和数组的组合及应用
指针和一维数组之间的关系,通过移动指针来对数组进行访问,以及数组指针做函数参数。
指针和二维数组之间的关系,列指针和行指针两种表示方式,二维数组的行指针做函数参数。
指针数组及其应用,指针数组可以表示多个字符串,做函数参数。
动态数组和动态内存分配;如何改变一维、二维动态数组的长度。
教材学习中的问题和解决过程
- 问题1:为什么行指针指向二维数组为p=a,而列指针指向二维数组为p=a[0]?
- 问题1解决方案:通过上网查阅资料得出,a是指向一维数组,p是指向int,这两个不等价。
a指向一维的int数组,内存大小为sizeof(int)数组长度。
而p只是指向一个int*类型指针,内存大小为4。指针指向的类型实际是不同的。
代码调试中的问题和解决过程
- 问题1:发现代码运行的结果并非是两个数组的交换,而是出现了数组中都没有的数字。
-
问题1解决方案:
通过代码调试,发现在函数Exc中,通过第一个for循环中a++,指针a指向的地址已不再是数组的首地址,而是a[5]的地址。
在接下来的for循环中,将a作为数组首地址调用,b也是如此,所以出现错误。
所以应在for循环后加a -= 5,将a指向数组首地址。 -
问题2:
-
问题2解决方案:通过翻阅课本,发现在定义函数时,指向二维数组的数组指针需表明指向含有几个元素,即[]内应加N。
上周考试错题总结
- 错题1Metalanguage is a specification of the organization of an XML document.(对)
原因:对元语言的理解有误。
理解情况:元语言是用于定义其它语言的元语言。
而XML也是一种元语言,允许文档的创建者定义自己的标记集合,从而描述文档的内容。
其他(感悟、思考等,可选)
我对指针有了更深刻的了解,发现指针的用处很广泛,可以和数组组合,从而使数组的调用更加灵活。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 200/200 | 2/2 | 10/10 | |
第二周 | 300/500 | 2/4 | 18/28 | |
第三周 | 300/800 | 3/7 | 20/48 | |
第四周 | 300/1100 | 2/9 | 20/68 | |
第五周 | 300/1400 | 2/11 | 20/88 | |
第六周 | 300/1700 | 4/15 | 20/108 | |
第七周 | 300/2000 | 1/16 | 20/128 | |
第八周 | 300/2300 | 1/17 | 20/148 | |
第九周 | 300/2600 | 3/20 | 20/168 | |
第十周 | 300/2900 | 1/21 | 20/188 | |
第十一周 | 200/3100 | 1/21 | 20/208 | |
第十二周 | 200/3300 | 1/22 | 20/228 |
-
计划学习时间:20小时
-
实际学习时间:20小时