从这里发布的问题数量来看,很明显,人们在研究指针和指针算术时会遇到一些非常基本的问题。
我很想知道为什么。它们从来没有真正给我带来过重大问题(尽管我第一次了解它们是在新石器时代)。为了更好地回答这些问题,我想知道人们觉得困难的是什么。
那么,如果您正在为指针而苦苦挣扎,或者您最近突然“明白”了,那么指针的哪些方面给您带来了问题?
我怀疑人们的答案有点太深了。并不真正需要了解调度、实际 CPU 操作或程序集级内存管理。
在教学过程中,我发现学生理解中的以下漏洞是最常见的问题来源:
我的大多数学生都能够理解一块内存的简化图,通常是当前范围内堆栈的局部变量部分。通常,为各个位置提供明确的虚构地址会有所帮助。
我想总而言之,我是说如果你想理解指针,你必须理解变量,以及它们在现代架构中的实际含义。