#include
#include
#include
#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 for(j=0;j p[i][j]=i*j; for(i=0;i { for(j=0;j printf("%d,",p[i][j]); printf("\n"); } free(p); system("pause"); return0; } 扩展资料 定义一个三维数组: intx[3][4][5]; 定义了一个三维数组,数组的名字是x,数组的长度为3,每个数组的元素又是一个二维数组,这个二维数组的长度是4。 并且这个二维数组中的每个元素又是一个一维数组,这个一维数组的长度是5,元素类型是int。多维数组在实际的工作中使用不多,并且使用方法与二维数组相似。
组
用new申请空间;
再在对每个数进行初始化;
//动态定义和初始化二维数组 部分代码
cout<<"输入二维数组的行,列 :";
cin>>row >>col ;
int **p2 ;
p2 = new int*[row] ;
for( i = 0 ; i < row ; i ++ )
p2[i] = new int[col] ;
//输入二维数组的值
for( i = 0 ; i < row ; i ++ )
for( j = 0 ; j < col ; j ++ )
p2[i][j] = rand() % 10 ;
//输出二维数组
cout<<"输出二位数组:"<
{
for( j = 0 ;j < col ; j ++ )
cout<
//释放二维数组
for( i = 0 ; i < row ; i ++ )
delete []p2[i] ;
delete []p2 ;
#include
typedef vector
这样matrix就是二维数组了,可以用push_back()动态往里面添加元素 ,不用预先定义数组大小
int row, col;
cin >> row >> col;
int** ptr = new int* [row];
for(int i=0; i
ptr[i] = new int [col];
}
//使用之后一定要记得释放内存
for(int j=0; j
delete [] ptr[j];
}
delete [] ptr;