1、指针就是指向一个特定内存地址的一个变量。C语言指针可以有效地表示复杂的数据结构、动态分配内存、高效的使用数组和字符串、使得调用函数时得到多个返回值等。指针的应用往往与数组联系在一起,是最频繁的,也是最基础的。在定义数组和函数时,系统会为其自动分配一个指向其首地址的指针。对于一个数组,其名称就是一个指针变量。
2、指针只是一个变量,它存储一个内存地址。如果传入一个地址,比传入一个struct效率要高,因为少了一个拷贝过程。
3、指针能够有效的表示数据结构,能动态分配内存、能较方便的使用字符串,有效的使用数组。
4、指针直接与数据等的存储地址有关,是比较重要的。比如,值传递不如地址传递高效,因为值传递先从实参的地址中提出值,再赋值给形参带入函数计算;而指针则把形参的地址直接指向实参地址,使用时直接提出数据,使用效率高,特别在频繁赋值等情况下。