我发现通过现实世界的比较隐喻我学得最好.例如,在java中,帮助我理解Accessors和Mutators概念的一种方法是通过中间人的概念来思考它(私有变量不喜欢直接处理他们的客户,他们更喜欢有中间人(访问者和变异者)处理它们)
C中指针的概念对我来说仍然有点棘手.用什么来描述它们是如何工作的好比喻是什么?
我总是喜欢指针就像你的手指一样.如果我带你去停车场并要求你找我一辆红色汽车,你伸出一根手指(你选择的那个;))并指向一辆红色汽车.
你的手指不是答案.你的手指什么也没告诉我,但是如果我看到你手指指向的地方,我就能找到我想要的东西.
现在,我可以要求您找到一辆蓝色汽车,然后您可以将手指(重新分配)重定向到新车.现在你的指针(和以前一样)向我展示了相同类型的新数据.指针没有改变,只是指向它.
这也适用于多个指针.我可以问指针指向蓝色汽车的哪个位置,你可以用另一只手,用手指指向第一根手指.现在,如果我想知道蓝色汽车在哪里,我可以按照第一根手指的方向指向第二根手指,然后是汽车(数据).