在我们的桌面上,往往有这样一些图标:在它们的左下角有个小箭头,我们双击它,可以调出本机内的一些程序或文件。然而我们发现这些图标所占的存储空间很小,一般也就几百到几千字节。可是那么小的文件怎么会让上百兆的程序执行起来的呢?
后来,我们知道那些有小箭头的图标文件称为快捷方式。它所存储的内容并不是所要调用的程序本身,而是所要调用的程序在本机磁盘上的位置。(比如D:/Tencent/QQ/QQ.exe,如图8.1所示)使用快捷方式的目的就是为了快捷方便,不用去查找程序就能去执行它。不过如果所要调用的程序不存在或位置不正确,那么双击了这个快捷方式就会导致错误发生。
在内存中,可能会有一些数据,我们不知道它的变量名,却知道它在内存中的存储位置,即地址。我们能否利用快捷方式的原理对这些数据进行调用和处理呢?
很幸运,在C++中,也可以给内存中的数据创建“快捷方式”,我们称它为指针(Pointer)。它和整型、字符型、浮点型一样,是一种数据类型。指针中存储的并不是所要调用的数据本身,而是所要调用的数据在内存中的地址。我们可以通过对指针的操作来实现对数据的调用和操作。