C语言 动态创建二维数组
/*C语言 如何动态创建二维数组 转化为一维数组申请数组,创建和释放都比较简单 */ #include <stdlib.h> #include <stdio.h> #include <malloc.h> #define RANK 10 #define COLUMN 7 int main() { int i,j; int (*p)[COLUMN]; //动态生成二维数组,指定列数为COLUMN,如果想改,自己该里面 //的参数,如果想定义n行2列就为: p=(int (*)[2])malloc(n*2*sizeof(int)); p=(int (*)[COLUMN])malloc(RANK*COLUMN*sizeof(int)); //动态申请n行COLUMN列的二维数组 for(i=0;i<RANK;i++) for(j=0;j<COLUMN;j++) p[i][j]=i*j; for(i=0;i<RANK;i++) { for(j=0;j<COLUMN;j++) printf("%d,",p[i][j]); printf("\n"); } free(p); system("pause"); return 0; }
当然,还有第二种方法,这里就不测试了,只是为了工程实用性,哈哈