c - 用什么来描述 C 中的指针是一个很好的现实世界隐喻?

标签 c pointers

<分区>

我发现通过现实世界的比较隐喻我学得最好。例如,在 Java 中,一种帮助我很好地理解访问器和修改器概念的方法是通过中间人的概念来思考它(私有(private)变量不喜欢直接与他们的客户打交道,他们更喜欢有中间人(访问器和修改器)处理它们)

C 中指针的概念对我来说仍然有点棘手。可以用什么比喻来描述它们的工作原理?

最佳答案

我一直很喜欢指针就像你的手指这样的比喻。如果我带你去 parking 场并让你帮我找一辆红色的车,你伸出一根手指(由你选择;))并指向一辆红色的车。

您的手指不是答案。你的手指什么也告诉我,但如果我看你手指所指的地方,我就能找到我要找的东西。

现在我可以要求您找到一辆蓝色汽车,您可以将手指重定向(重新分配)到一辆新汽车上。现在你的指针(和以前一样)正在向我显示相同类型的新数据。指针没有改变,只是指向什么。

这也适用于多个指针。我可以问指向蓝色汽车的指针在哪里,你可以用另一只手用一根手指指向第一根手指。现在,如果我想知道蓝色汽车在哪里,我可以按照第一根手指的方向找到第二根手指,找到汽车(数据)。

关于c - 用什么来描述 C 中的指针是一个很好的现实世界隐喻?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15818579/

相关文章:

c - 初始化结构体的字段

c - IOCTL - 了解文件描述符参数

c - 访问 void 指针的部分内存

c - 为什么我会从此结构中收到不兼容的指针类型警告?

c - 返回指针时出现段错误

c++ - C/C++ 的选项解析器?

c - 使用 OpenMP 的 n 元搜索没有加速

c - 就性能和可用性而言,您认为编写一个新的 PHP 框架作为 PHP 扩展(用 C 语言)是个好主意吗?

c++ - C++中的引用是如何用指针实现的

c++ - 带有字符串文字的 C 空指针