一般在函数调用时传入的参数有传值和传引用之分,传引用自不必说,理解上不会有太大问题,传指针容易对传值还是传引用产生混淆,实际上它还是传值,具体的,传指针可以理解为分两种情况(自我理解,不太准确,但是比较形象):把 *指针 传递给 *指针,把 *指针的地址 传递给 **指针。当把 *指针 传递到函数中的 *指针 时,确保该指针指向有效的地址空间,则函数就可以通过指针直接操作那个地址空间,如图(1);当把 *指针的地址 传递到函数中的 **指针 时,在函数中的指针内容是原指针变量的地址,取一次 * 得到那个指针中的内容(也是一个地址),间接操作目标区域中的内容,如图(2)。这两个有什么区别,可以通过下图中的链表操作理解:
图(1)
图(2)