2024-2025-1 20241327 《计算机基础与程序设计》第九周学习总结

作业信息
|2024-2025-1-计算机基础与程序设计)|
|-- |-
|2024-2025-1计算机基础与程序设计第九周作业)|
|快速浏览一遍教材计算机科学概论(第七版),课本每章提出至少一个自己不懂的或最想解决的问题并在期末回答这些问题
|作业正文|https://www.cnblogs.com/shr060414/p/18440575 |

教材学习内容总结
基本概念
1.指针变量:存储内存地址的变量。声明时使用*,如int *p;表示一个指向整数的指针。
2.数组名与指针:在C语言中,数组名相当于指向数组第一个元素的指针,但它是一个常量,不可修改。
关系与区别
3.数组与指针的关系:数组名可以看作是一个常量指针,不能被赋值,而指针可以通过赋值操作来改变其所指向的地址。
4.传递参数时降维:在函数参数中传递数组时,实际上传递的是一个指向该数组首元素的指针,这会导致“降维”现象。
操作与用法
5.取地址运算符&:用于获取变量的内存地址,如&a获取变量a的地址。
6.解引用运算符*:用于访问指针所指向地址中的数据,如*p访问p所指向的内容。
7.多级指针:可以有一级、二级甚至更多级别,如二级指针是一个存储一级指针地址的变量。
内存布局
8.连续性:数组在内存中是连续分配的,这使得它们非常适合使用指针进行遍历和操作。
9.多维数组与行优先顺序:C语言中的多维数组按行优先顺序存储,即先存储一整行再存储下一行。
高级特性
10.函数指针:可以用来调用函数,通过保存函数入口地址实现动态调用,如声明为int (*funcPtr)(int, int);
11.动态内存分配:通过库函数如malloc()和free()进行动态内存管理,返回的是void类型的通用指针,需要强制转换为具体类型。
实践技巧
12.安全性考虑:确保所有使用前初始化,并在不再需要时释放动态分配的内存以避免泄漏和悬挂引用问题。
13.调试技巧:使用调试器查看内存布局和变量状态,以便更好地理解程序行为和解决问题。
性能优化
14.缓存友好性:由于数组在内存中是连续分布,利用这一特性可以提高缓存命中率,从而提升程序性能。
15.避免过度解引用:频繁解引用会增加程序开销,应尽量减少不必要的解引用操作以提高效率。
基于AI的学习



参考:软件工程软件的估计为什么这么难,软件工程 估计方法

计划学习时间:20小时

实际学习时间:20小时

改进情况:继续加油

posted @ 2024-11-24 19:20  尚浩然  阅读(4)  评论(0编辑  收藏  举报