• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
Zhugedaoyi
博客园    首页    新随笔    联系   管理    订阅  订阅
2023-2024-1 20231421 《计算机基础与程序设计》第十二周学习总结

------------恢复内容开始------------

------------恢复内容开始------------

------------恢复内容开始------------

------------恢复内容开始------------

------------恢复内容开始------------

------------恢复内容开始------------

------------恢复内容开始------------

------------恢复内容开始------------

------------恢复内容开始------------

作业信息

作业要求:https://www.cnblogs.com/rocedu/p/9577842.html#WEEK11

作业目标:自学《c语言程序设计》第十一章

作业正文:

教材学习内容总结

《c语言程序设计》

指针是一种特殊的变量,它的值是另一个变量的地址,也就是说,它指向了另一个变量的存储位置。通过指针,我们可以间接地访问和修改另一个变量的值,这样可以提高程序的效率和灵活性。指针的类型决定了它指向的变量的类型,以及它所占用的存储空间。例如,int *p; 表示定义了一个指向整型变量的指针变量 p,它在内存中占用 4 个字节(这取决于编译器和操作系统)。

其次,我们要了解指针和数组的关系。数组是一种数据结构,它是由相同类型的元素按照一定的顺序排列而成的集合。数组的每个元素都相当于一个变量,都有自己的地址和值。数组的名字代表了数组的首地址,也就是数组第一个元素的地址。通过数组的名字和下标,我们可以确定和访问数组中的任意一个元素。例如,int a[5]; 表示定义了一个包含 5 个整型元素的数组 a,它在内存中占用 20 个字节(每个元素占 4 个字节)。a[0] 表示数组的第一个元素,它的地址是 a,它的值是 *a。a1 表示数组的第二个元素,它的地址是 a+1,它的值是 *(a+1)。以此类推,a[i] 表示数组的第 i+1 个元素,它的地址是 a+i,它的值是 *(a+i)。

由于数组的每个元素都是一个变量,因此指针变量可以指向数组中的元素,也就是说,我们可以用指针方式访问数组中的元素。例如,int p = a; 表示定义了一个指向整型变量的指针变量 p,并让它指向数组 a 的首地址,也就是 a[0] 的地址。那么,p 的值就是 a,p 的值就是 a[0]。p+1 的值就是 a+1,也就是 a1 的地址,(p+1) 的值就是 a1。以此类推,p+i 的值就是 a+i,也就是 a[i] 的地址,(p+i) 的值就是 a[i]。这样,我们就可以用 p[i] 来表示 a[i],它们是等价的。

对于二维数组,它是由若干个一维数组组成的数组。二维数组的每个元素都是一个一维数组,也有自己的地址和值。二维数组的名字也代表了数组的首地址,也就是数组第一个一维数组的地址。通过二维数组的名字和两个下标,我们可以确定和访问数组中的任意一个一维数组或者一个元素。例如,int a3; 表示定义了一个包含 3 个一维数组的二维数组 a,每个一维数组包含 4 个整型元素,它在内存中占用 48 个字节(每个元素占 4 个字节)。a[0] 表示二维数组的第一个一维数组,它的地址是 a,它的值是 *a。a[0][0] 表示二维数组的第一个一维数组的第一个元素,它的地址是 a,它的值是 **a。a1 表示二维数组的第二个一维数组,它的地址是 a+1,它的值是 *(a+1)。a[1][0] 表示二维数组的第二个一维数组的第一个元素,它的地址是 a+1,它的值是 ((a+1))。以此类推,a[i] 表示二维数组的第 i+1 个一维数组,它的地址是 a+i,它的值是 *(a+i)。a[i][j] 表示二维数组的第 i+1 个一维数组的第 j+1 个元素,它的地址是 *(a+i)+j,它的值是 ((a+i)+j)。

同样,由于二维数组的每个元素都是一个一维数组,因此指针变量也可以指向二维数组中的元素,也就是说,我们也可以用指针方式访问二维数组中的元素。但是,这里要注意指针变量的类型,因为二维数组的元素是一维数组,所以指针变量的类型应该是指向一维数组的指针,也就是行指针。例如,int (p)4 = a; 表示定义了一个指向含有 4 个元素的一维整型数组的指针变量 p,并让它指向二维数组 a 的首地址,也就是 a[0] 的地址。那么,p 的值就是 a,p 的值就是 a[0]。p+1 的值就是 a+1,也就是 a1 的地址,(p+1) 的值就是 a1。以此类推,p+i 的值就是 a+i,也就是 a[i] 的地址,(p+i) 的值就是 a[i]。这样,我们就可以用 p[i] 来表示 a[i],它们是等价的。但是,如果我们想要访问二维数组中的一个元素,而不是一个一维数组,我们就需要再加一个下标。例如,p[0][0] 表示 a[0][0],它的地址是 *p,它的值是 **p。p[1][0] 表示 a[1][0],它的地址是 *(p+1),它的值是 ((p+1))。以此类推,p[i][j] 表示 a[i][j],它的地址是 *(p+i)+j,它的值是 ((p+i)+j)。这样,我们就可以用 p[i][j] 来表示 a[i][j],它们是等价的。

除了行指针,我们还可以用列指针来访问二维数组中的元素。列指针是指向二维数组中的一个元素的指针,而不是一个一维数组的指针。例如,int p = a[0]; 表示定义了一个指向整型变量的指针变量 p,并让它指向二维数组 a 的第一个一维数组的第一个元素的地址,也就是 a[0][0] 的地址。那么,p 的值就是 a[0],p 的值就是 a[0][0]。p+1 的值就是 a[0]+1,也就是 a0 的地址,(p+1) 的值就是 a0。以此类推,p+i 的值就是 a[0]+i,也就是 a[0][i] 的地址,(p+i) 的值就是 a

 三,基于AI的学习

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

学习进度条

  代码行数 博客数 学习时间
目标 5000 30 400
第一周 200/200 2/2 20/20
第二周 300/300 4/4 28/28
第三周 500/500 6/6 30/30
第四周 500500 8/8 30/30
第五周 600/600 9/9 35/35
第六周 800/800 10/10 40/40
第七周 1000/1000 12/12 45/45
第八周 1200/1200 14/14 48/48
第九周 1400/1400 15/15 52/52
第十周 1600/1600 17/17 56/56
第十一周 1800/1800 18/18 60/60
第十二周 2000/2000 19/19 64/64

 

------------恢复内容结束------------

------------恢复内容结束------------

------------恢复内容结束------------

------------恢复内容结束------------

------------恢复内容结束------------

------------恢复内容结束------------

------------恢复内容结束------------

------------恢复内容结束------------

------------恢复内容结束------------

posted on 2023-12-17 19:12  20231421朱葛道一  阅读(25)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3