#include<stdlib.h>
#include<stdio.h>
#include<malloc.h>
#defineRANK10
#defineCOLUMN7
intmain()
{
inti,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");
return0;
}
扩展资料
定义一个三维数组:
intx[3][4][5];
定义了一个三维数组,数组的名字是x,数组的长度为3,每个数组的元素又是一个二维数组,这个二维数组的长度是4。
并且这个二维数组中的每个元素又是一个一维数组,这个一维数组的长度是5,元素类型是int。多维数组在实际的工作中使用不多,并且使用方法与二维数组相似。