/*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;
}
当然,还有第二种方法,这里就不测试了,只是为了工程实用性,哈哈
转载于:https://www.cnblogs.com/shuqingstudy/p/5162354.html