用指针实现的二维数组创建及赋值
第一种:
int m = 3;
int (*p)[5] = new int[m][5]; // 可以理解为p是一个指向含有5个int型元素的型数组的指针for (int i=0;i<m;i++){
for (int j=0;j<5;j++){
p[i][j] = i+j;
}
}
for (int i=0;i<m;i++){
for (int j=0;j<5;j++){
cout<<p[i][j]<<" ";
}
cout<<endl;
}
第二种:
int **p;
p = new int*[3]; //创建行指针。创建三个元素的数组,每个元素指向一个int*型
for (int i=0;i<3;i++){
p[i] = new int[5]; // 必须要加上这一行,开辟空间
for (int j=0;j<5;j++){
p[i][j] = i+j;
}
}
for (int i=0;i<3;i++){
for (int j=0;j<5;j++){
cout<<p[i][j]<<" ";
}
cout<<endl;
}