C++ 如何给double型二维数组动态初始化

我要建立一个double型的二维数组,行数确定,列数为一个可得到的变量。... 我要建立一个double型的二维数组,行数确定,列数为一个可得到的变量。 展开
 我来答
007fighting
2013-01-28
知道答主
回答量:19
采纳率:0%
帮助的人:9.5万
展开全部
double **array;
array = new double*[row];
for (int i = 0; i < row; ++i){
array[i] = new double[col];
}

其中row为行数,col为列数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xz宏定义
推荐于2017-11-25 · TA获得超过1029个赞
知道小有建树答主
回答量:1621
采纳率:100%
帮助的人:229万
展开全部
C++中用new动态创建二维数组的格式一般是这样:
TYPE (*p)[N] = new TYPE [][N];
其中,TYPE是某种类型,N是二维数组的列数。采用这种格式,列数必须指出,而行数无需指定。在这里,p的类型是TYPE*[N],即是指向一个有N列元素数组的指针。
还有一种方法,可以不指定数组的列数:
int **p;
p = new int*[10]; //注意,int*[10]表示一个有10个元素的指针数组
for (int i = 0; i != 10; ++i)
{
p[i] = new int[5];
}
这里是将p作为一个指向指针的指针,它指向一个包含10个元素的指针数组,并且每个元素指向一个有5个元素的数组,这样就构建了一个10行5列的数组。
当数组使用完毕,释放空间的代码是:
for(int i = 0; i != 5; i++)
{
delete[] p[i];
}
delete[] p;
处理二维数组,可以用降维或是二维法。
降维法是用一位数组来接受二维数组,将二维元素的首地址&a[0][0]作为参数,传递给函数,函数用int *接受。
二维法就直接用二维数组来接受,但是需要指定列数。
更多追问追答
追问
谢谢,能不能一个二维数组中,第一列的数和第二列相加,得到的结果赋给一个一维数组?
追答
那肯定能啊,不管是什么样的数组,每一个元素都是一个单独的数据
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式