3个回答
展开全部
可以。
int *p=new int[X*Y];//用了二级指针,是想做二维数组么
int **a=new int* [X];//声明一个以一维数组为元素的一维数组
for(int n=0;n<X;n++)//初始化一维数组里面的一维数组
*a=new int[Y];
追问
看了书上的一句话,想实现一下,结果不成功.书上是这样说的,还有一种方法可以降低各种排序算法用于交换记录所费的时间,尤其是当记录很大的时候;就是使数组中的每个元素存储指向该元素记录的指针而不是记录本身.
然后,我就想动态生成一个指针数组将另一个数组的每一个元素的地址赋给对应的指针数组.
追答
可以这样做,实际上是二位数组(即上述第二种方法)。我的感觉是如果是可以用一维数组就用一维。用指针加偏移量寻址去实现二维数组的结构也行(第一种)。
2015-08-01 · 知道合伙人互联网行家
关注
展开全部
C++动态创建二维数组,二维数组指针代码如下:
int **result; //定义一个二维指针数组
int row = 4;
int col = 5;
result = new int*[row];
for (int i=0; i<row; i++)
{
result[i] = new int[col];
}
for (int i=0; i<row; i++)
{
for (int j=0; j<col; j++)
{
result[i][j] = 4; //给数组赋值
}
}
// 下面是释放空间,初始化二维数组
for (int i=0; i<row; i++)
{
delete[] result[i];
}
delete[] result;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询