例子1:
int foo(int *array)
{ array = (int *)malloc(sizeof(int)*);
return ;
} //外头调用
int * uidArray = NULL;
foo(uidArray);
这时候我想要在函数里给数组指针赋值首个元素的地址,可是由于传的是参数,在函数里有地址了,可是在外头的变量uidArray还是等于NULL,等于没用。
所以必须传数组指针的指针进去,以修改外头的数组指针
改为:
int foo(int **array)
{
*array = (int *)malloc(sizeof(int)*);
return ;
} //外头调用
int ** uidArray = NULL;
foo(uidArray);
这里的int**是数组指针int *的指针
例子2:
int **arrays;
//创建一个2*6的二维数组
arrays = (int **)malloc(sizeof(int *)*);
arrays[] = (int *)malloc(sizeof(int)*);
arrays[] = (int *)malloc(sizeof(int)*);
这里的int **是二维数组的指针