标签:
1,在堆上申请二位空间
1.1二维空间,并不一定就是二维数组,具有数组的访问形式。但己经远远不是数组的定义了
1.2二级指针做返回值输出申请不连续的二维空间
void **Myarry2(int base,int row,int line)
{
void**p = (void **)malloc(sizeof(void*)*row);
for(int i = 0;i<row;i++)
{
p[i]=(void *)malloc(base*line);
}
return p;
}
1.3三级指针做参数输出
void Myarry3(void ***p, int base,int row, int line)
{
*p = (void **)malloc(sizeof(void *)*row);
for(int i = 0;i<row;i++)
{
(*p)[i] = (void*)malloc(base*line);//(*p)对p进行降指
}
return 0;
}
1.4对以上空间的释放
void Freearry(void **p,int row)
{
for(int i =0;i<row;i++)
{
free(p[i]);
}
free(p);
return 0;
}
1.5申请一个连续的二维空间
void **Mymalloc(int base,int row,int line)
{
void **p = (void **)malloc(sizeof(void*)*row);
void *pa=(void*) malloc(base*line*row);
int (*arry)[line] =pa;
for(int i =0;i<row;i++)
{
p[i] = arry++;
}
return p;
}
释放空间
void FreeArry(void **p)
{
free(p[0]);
free(p);
return 0;
}
标签:
原文地址:http://www.cnblogs.com/lvlup/p/4817551.html