指针的用处我知道
比如 int p[3];
int* x=&p
x作为p的索引
那么指针的指针呢,既然它出现在c中肯定有用,可是我实在不知道有什么用,难道对指针进行索引,索引的索引?
答:
我给楼主一个最直接的理由:那就是如果你希望在一个函数的参数中改变一个指针的值,你就只能传这个指针的指针给这个函数。
比如有int *p;
而你想在函数f中对其增量,就只好:
void f(int **pp)
{
*pp++;
}
知乎回答:
1、最简单的一个例子,当你想动态分配内存给二位数组(矩阵,表,等等)的时候,你就可以使用**了。比如想创建一个n x m的int矩阵,行数n和列数m由用户输入,你就可以使用int**来存储这个二维数组,然后再动态分配内存给这个数组。
2、比较明显的一个作用,就是减少函数传参,不然还需要传一个*index,来指示函数调用后的内存偏移量,传**进去,函数调用后,你的指针就自动指向偏移后的地址了。