<分区>
我发现通过现实世界的比较隐喻我学得最好。例如,在 Java 中,一种帮助我很好地理解访问器和修改器概念的方法是通过中间人的概念来思考它(私有(private)变量不喜欢直接与他们的客户打交道,他们更喜欢有中间人(访问器和修改器)处理它们)
C 中指针的概念对我来说仍然有点棘手。可以用什么比喻来描述它们的工作原理?
<分区>
我发现通过现实世界的比较隐喻我学得最好。例如,在 Java 中,一种帮助我很好地理解访问器和修改器概念的方法是通过中间人的概念来思考它(私有(private)变量不喜欢直接与他们的客户打交道,他们更喜欢有中间人(访问器和修改器)处理它们)
C 中指针的概念对我来说仍然有点棘手。可以用什么比喻来描述它们的工作原理?
最佳答案
我一直很喜欢指针就像你的手指这样的比喻。如果我带你去 parking 场并让你帮我找一辆红色的车,你伸出一根手指(由你选择;))并指向一辆红色的车。
您的手指不是答案。你的手指什么也告诉我,但如果我看你手指所指的地方,我就能找到我要找的东西。
现在我可以要求您找到一辆蓝色汽车,您可以将手指重定向(重新分配)到一辆新汽车上。现在你的指针(和以前一样)正在向我显示相同类型的新数据。指针没有改变,只是指向什么。
这也适用于多个指针。我可以问指向蓝色汽车的指针在哪里,你可以用另一只手用一根手指指向第一根手指。现在,如果我想知道蓝色汽车在哪里,我可以按照第一根手指的方向找到第二根手指,找到汽车(数据)。
关于c - 用什么来描述 C 中的指针是一个很好的现实世界隐喻?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15818579/