用指针实现的二维数组创建及赋值
第一种:
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;
}
本文介绍了两种使用指针实现二维数组的方法。第一种是直接创建一个指向固定大小int数组的指针并进行初始化;第二种是动态分配每行的空间,通过双重指针实现。这两种方法都演示了如何初始化和遍历二维数组。
2887

被折叠的 条评论
为什么被折叠?



