用三维指针。
#include
#include
void creat2Arr(int ***dest1, int x, int y)
{
int **dest;
dest = (int **)malloc(sizeof(int)*x);
int i=0;
for ( ; i < x;i++)
{
dest[i] = (int *)malloc(sizeof(int)*y);
int j=0;
for (; j < y;j++)
{
dest[i][j] =i+j;
}
}
printf("%d",dest[0][0]);
*dest1 = dest;
}
void free2Arr(int **dest, int x)
{
int i;
for (i=0; i < x;i++)
{
free(dest[i]);
dest[i] = NULL;
}
free(dest);
dest = NULL;
}
int main(void)
{
int **a=NULL;
creat2Arr(&a,10,10);
printf("%d",a[0][0]);
free2Arr(a,10);
return 0;
}
把错误提示贴上来啊