2022-2023-1 20221304 《计算机基础与程序设计》第十二周学习总结

2022-2023-1 20221304 《计算机基础与程序设计》第十二周学习总结

作业信息

这个作业属于哪个课程 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/liu-221304-yi-tong/p/16907987.html

教材学习内容总结

指针与一维数组间的关系,指针与二维数组间的关系。向函数传递一维数组和二维数组指针数组,命令行参数动态数组,动态内存分配

教材学习中的问题和解决过程

  • 问题1:指针与一维数组间的关系?
  • 问题1解决方案:数组名代表数组的首地址,其中,数组名a代表数组的首地址(即&a[0]),那么表达式a+i代表数组中下标为i元素a[i]的地址,即&a[i]。还可以通过使用间接寻址来引用数组元素。例如:(a+i)表示取出首地址元素后边第i个元素的内容,即下标为i的元素a[i]。此外,还可以通过一维数组的指针变量p来引用数组a中的元素,(p+i)就表示取出p+i所指的内存单元内容,即元素a[i]的值。(p+i)也可以用它的下表形式p[i]来表示。
  • 问题2:有关动态内存分配。
  • 问题2解决方案:C函数库提供了malloc和free两个函数,分别用于执行动态内存分配和释放。它们都在头文件stdlib.h中声明。

代码调试中的问题和解决过程

  • 问题1:指针数组与数组指针的辨析。

  • 问题1解决方案:通过查阅资料得知:1.指针数组:是指一个数组里面装着指针,也即指针数组是一个数组;定义形式:int a[10];说明:[]的优先级高于,该定义形式应该理解为:int * (a[10]);括号里面说明a是一个数组,包含了10个元素,括号外面说明每个元素的类型为int 。2.数组指针:是指一个指向数组的指针,它其实还是一个指针,只不过是指向数组而已;
    定义形式:int (
    p)[10]; 其中,由于[]的优先级高于,所以必须添加(p).说明:括号中的*表明 p 是一个指针,该指针变量保存的是一个数组的首地址,它指向一整个数组(),数组的类型为int[10],这正是 a 所包含的每个一维数组的类型。

  • 问题2:

  • 问题2解决方案:通过上网查询,我写出了如下代码。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 3000行 30篇 200小时
第一周 50/50 2/2 15/15
第二周 100/150 2/4 15/30
第三周 150/350 3/7 20/50
第四周 150/500 3/10 20/70
第五周 150/650 2/12 20/90
第六周 150/800 4/16 20/110
第七周 150/950 1/17 20/130
第八周 150/1100 3/20 20/150
第九周 150/1250 1/21 20/170
第十周 150/1400 1/22 20/190
第十一周 150/1550 1/23 20/210
第十二周 150/1700 1/24 20/230
  • 计划学习时间:20小时

  • 实际学习时间:20小时

posted @ 2022-11-20 16:37  20221304刘奕彤  阅读(35)  评论(0编辑  收藏  举报