C语言 动态创建二维数组

时间:2021-09-25 08:00:08
/*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=;i<RANK;i++)
for(j=;j<COLUMN;j++)
p[i][j]=i*j; for(i=;i<RANK;i++)
{
for(j=;j<COLUMN;j++)
printf("%d,",p[i][j]); printf("\n");
}
free(p); system("pause");
return ;
}

当然,还有第二种方法,这里就不测试了,只是为了工程实用性,哈哈