关于C++指针类型的功能,求同志么解释下解决办法

关于C++指针类型的功能,求同志么解释下
速度啦,本人是新手,第一次接触指针的时候就很晕,不知道他有什么功能,有哪位大哥可以讲一下,求通俗易懂的,可以的话举个例子就更完美了!!!!

------解决方案--------------------
指针,就像一把钓鱼竿,你可以在鱼来的时候提上来,也可以在鱼没来的时候提上来;
甚至,可以在鱼要来的时候,把鱼吓跑;

这就是指针。
------解决方案--------------------
我们都知道我们的文件都是存放在内存里的。程序里的变量也是如此,内存有地址,我们要找变量内容时,就可以用到指针,指针就是指向某变量的地址,然后我们就可以用指针来找内存地址,把相应的变量读出来。
例如:int a=8;
int *p=a;
printf("%d",*p); p就是指针(变量),*p就是 按指针p所指向的变量地址找到的内存里的内容,也就是变量a的值。

------解决方案--------------------
我觉得指针这个东西必须要有一个清楚的认识
先是一个效率的问题
不管是何种编译器操作指针都是一种间接性的操作,先是找出地址,然后通过*运算得到对象
但是为什么说指针操作效率高呢?难道间接性的操作反而提高效率?
错,指针提高效率并不是在这里,而是在于避免了拷贝大对象,但是对于操作不得不拷贝的对象指针的效率根本也就无从说起
然后就是理解指针和引用,任何编译器的处理都应该是相同的(VC6和codeblocks下经过验证过),事实上都是一种间接操作,尽管在编码上不同(一个是用*,另一个是用&修饰变量)
---------------------------
正如#3说的 指针的本质就是实体引用!
我再加一句,引用和本质没有任何区别。(个人理解,有不同意见可以反驳)
------解决方案--------------------
指针的意义在于定位.
现实世界中可以对应为坐标的概念.
如只要你知道一个正确的经度和纬度,那么你就可以在地球上找到这个点。
能找到这个点,你就可以到达那个地方看到这个地方真实的风景。(这个风景就是指针保存的内容的真实类型)
windows下应用程序可以使用的内存是一个虚拟的线性地址,长度为2GB。
你应用程序内申请的一切变量,函数都在这个2GB的线性地址中存储着。
它们的线性地址,就是一个指针的值.
当你的指针记录下这些地址后,就可以对指针进行解引用操作,来浏览这个地址中真实的数据了。
------解决方案--------------------
其实指针就像是其它变量一样,所不同的是一般的变量包含的是实际的真实的数据,而指针是一个指示器,它告诉程序在内存的哪块区域可以找到数据。