c语言如何动态分配二维数组?
/* * c语言如何动态分配二维数组? */#include<stdio.h>#include<stdlib.h>/* * 动态分配二维空间 */int **init(int m,int n){int num=1;int **a;a=(int **)malloc(m*sizeof(int *));for(int i=0;i<m;i++){*(a+i)=(int *)malloc(n*sizeof(int));for(int j=0;j<n;j++){*(*(a+i)+j)=num;num++;}}return a;}/* * 打印二维空间的值 */void print(int **a,int m,int n){for(int i=0;i<m;i++){for(int j=0;j<n;j++){printf("%d ",*(*(a+i)+j));}printf("\n");}}int main(){int m=3;int n=4;int **a=init(m,n);print(a,m,n);return 0;}
?