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

发布时间 2023-12-17 20:24:39作者: 20231306周玟妍

作业信息

这个作业属于哪个课程 2023-2024-1-计算机基础与程序设计
这个作业要求在哪里 2023-2024-1计算机基础与程序设计第十二周作业
这个作业的目标
作业正文 https://www.cnblogs.com/zwywuhu/p/17908748.html

教材学习内容总结

《C语言程序设计》—— 第十一章 指针和数组

  1. 指针和一维数组间的关系
  • 数组名是指向数组中第一个元素的指针常量。
  • a或(a+0)表示取出首地址a所指的存储单元中的内容。因为a[i]被编译器解释为表达式*(a+i),即表示引用数组首地址所指元素后面的第i个元素。
  • 一维数组做函数形参时,即使将形参声明为一维数组,它也将退化为指针,系统仅仅为其分配指针所占的内存空间。
  1. 指针和二维数组间的关系
  • 在二维数组a[i][i]中,a[0]可看成是由4个整型元素组成的一维数组的数组名。
  • a[i][j] == (a[i]+j) == ((a+i)+j) == ((a+i))[j]
  • 行指针定义示例: int (*p)[4]; 表示定义了一个可指向含有4个元素的一维整型数组的指针变量。
  1. 指针数组及其应用
  • 指针数组由若干基类型相同的指针所构成。
  • 在使用指针数组前必须对数组元素进行初始化。
  • 指针数组可用于表示命令行参数,函数main()是通过形参获得这些参数的,所以需要使用带参数的main()形式。
  1. 动态数组
  • C语言程序中变量的内存分配方式有以下三种:
    (1)从静态存储区分配
    (2)在栈上分配
    注意,如果往栈中压入的数据超出预先给栈分配的容量,那么就会出现栈溢出,从而使程序运行失败。
    (3)在堆上分配
    用动态内存分配函数来申请的内存都是从堆上分配的。

  • 动态内存分配函数:

  • 若不能确定某种类型所占字节的字节数,则需要使用sizeof()计算本系统中该类型所占内存的字节数,然后再用函数malloc()向系统申请相应的字节数的存储空间。

  • 函数calloc()用于给若干同一类型的数据项分配连续的存储空间并赋值为0。

  • void free (void *p);
    可释放向系统动态申请的由指针p指向的存储空间。

基于AI的学习

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

问题一:
在准备实验时,我在fclose(fp);之后加了是否成功关闭文件的检查性代码,如图:

但检查结果一直显示“Nope!Please review your code!Fighting!”
问题一解决过程:
经过询问chat,成功解决问题,如图:

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 200/200 2/2 20/20
------- -------- -----
第二周 200/400 2/4
第三周 200/600 3/7
第四周 100/700 2/9
第五周 200/900 1/ 10
第六周 300/1200 1/11
第七周 400/1600 1/12
第八周 500/2100 1/13
第九周 500/2600 3/16
第十周 400/3000 1/17
第十一周 400/3400 1/18
第十二周 400/3800 2/20