C++二维数组

来源:百度知道 编辑:UC知道 时间:2024/05/14 14:29:49
我要创建一个二维数组,但不用a[][],用int *a[],程序如下:(相当于创建了一个int a[6][10];
# include "iostream.h"
void funct(int **a){
int i,j;
for(i=0;i<6;i++)
for(j=0;j<10;j++)
cout<<"a["<<i<<"]["<<j<<"]="<<a[i][j]<<endl;
}
void main(){
int *a[10],j,i;
for(i=0;i<6;i++) //i<6可以,i<7就不可以了,8以后又可以了,请高手解释解释
a[i]=new int[6];
for(i=0;i<6;i++)
for(j=0;j<10;j++)
a[i][j]=i*j;
funct(a);
}
//我还想问问int *a[]用来存储二维数组时,标准的写法。(用int a[6][10]举例)

可以了与不可以了有什么具体现象啊

# include "iostream.h"
#define ROWS 6
#define COLUMNS 10
void funct(int **a){
int i,j;
for(i=0;i<ROWS;i++)
for(j=0;j<COLUMNS;j++)
cout<<"a["<<i<<"]["<<j<<"]="<<a[i][j]<<endl;
}
void main(){
int *a[COLUMNS],j,i;
for(i=0;i<ROWS;i++) //i<6可以,i<7就不可以了,8以后又可以了,请高手解释解释
a[i]=new int[ROWS];
for(i=0;i<ROWS;i++)
for(j=0;j<COLUMNS;j++)
a[i][j]=i*j;
funct(a);
}