关于int **

例子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 **是二维数组的指针

上一篇:MySQL 统计信息


下一篇:web前端基础篇⑧