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小时

参考资料

posted @ 2022-11-20 13:24  20221313陆玉  阅读(24)  评论(0编辑  收藏  举报