第一:通过指针可以表示一些复杂的数据结构。这个需要学习数据结构后才能理解。存放数据可以使用数组,在数据结构中,也可以通过链表,树,图来存储。但是这些东西必须要右指针,没有指针就实现不来。也就是说如果要保存一些比较复杂的数据,比如创建一个人事管理系统,那么用你数组就不合适。因为人事管理系统中每个人之间都有明确的关系,要么是部门与部门之间的关系,要么是上级与下级的关系。而数组中元素与元素之间的关系没有那么明确,所以用树来实现比较好。又比如建立一个地图,地图上很多城市,每个城市又分为多个地区,每个地区又有很多地点,这时用图来解决就比较好,而树和图这两种数据结构必须用指针才能实现。

第二:使用指针能够快速,高效的传递数据。比如把一个数据发送给一个函数,需要这个函数对这个数据进行处理,这个时候用指针的话速度非常块,时间也短,耗用内存也少
第三:在调用函数时能够使函数返回一个以上的结果。我们以前说过,一个函数只能执行一个return语句,所以最多只能返回一个值。但是通过指针可以让一个函数返回多个值,这也是指针的一个用途。

第四:指针能够直接访问硬件,可以直接操作地址,C语言的强大之处就是灵活的指针。

第五:指针可以灵活的指向字符串。

第六:指针是理解面向对象语言中“引用”的基础

第七:很多知识都需要用到指针,例如数组。