开发者社区> 问答> 正文

理解指针的障碍是什么?如何克服这些障碍?

为什么对于许多C或C ++的新的甚至是老的大学水平的学生来说,指针是导致混乱的主要因素?是否有任何工具或思维过程可以帮助您了解指针在变量,函数以及更高级别上的工作方式?

展开
收起
游客ufivfoddcd53c 2020-01-03 19:09:13 774 0
1 条回答
写回答
取消 提交回答
  • 指针是一个概念,对于许多人而言,一开始可能会造成混淆,尤其是在围绕周围复制指针值并仍然引用同一内存块的时候。

    我发现最好的类比是将指针视为一张纸,上面有一个房屋地址,并且它所引用的内存块就是实际的房屋。因此可以容易地解释各种操作。

    我在下面添加了一些Delphi代码,并在适当的地方添加了一些注释。我之所以选择Delphi,是因为我的另一种主要编程语言C#不会以相同的方式展现诸如内存泄漏之类的东西。

    如果仅希望学习指针的高级概念,则应忽略下面说明中标有“内存布局”的部分。它们旨在举例说明操作后的存储器外观,但是它们本质上是更底层的。但是,为了准确地解释缓冲区溢出是如何工作的,重要的是添加了这些图。

    2020-01-03 19:09:24
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
思维的边界:认知智能 立即下载
让机器逐渐习得法律认知能力 立即下载
互联网技术发展的几个观察 立即下载