P101 例5-2 定义有3行、4列int类型的二维数组a,先逐行分别给数组元素赋数据1,2,3,…,12,然后显示数组中的数值。要求:分别把申请二维动态数组的过程和释放二维动态数组的过程编写成函数。
#include<stdio.h>
#include<stdlib.h>
int **Make2DArray(int row,int col)
{
int **a,i;
a=(int **)calloc(row,sizeof(int *));
for(i=0;i<row;i++)
a[i]=(int*)calloc(col,sizeof(int));
return a;
}
void Diliver2DArray(int **a,int row)
{
int i;
for(i=0;i<row;i++)
free(a[i]);
free(a);
}
int main()
{
int i,j,c;
int row=3,col=4,**a;
a=Make2DArray(row,col);
c=1;
for(i=0;i<row;i++)
{
for(j=0;j<col;j++)
{
a[i][j]=c;
c++;
}
}
for(i=0;i<row;i++)
{
for(j=0;j<col;j++)
printf("%5d",a[i][j]);
printf("\n");
}
Diliver2DArray(a,row);
return 0;
}