C++中 如何将一维数组改写成二维

能否举几个例子,尤其是for循环。谢了... 能否举几个例子,尤其是for循环。谢了 展开
 我来答
百度网友ead7934
推荐于2017-11-23 · TA获得超过286个赞
知道小有建树答主
回答量:151
采纳率:0%
帮助的人:113万
展开全部
不管是几维数组,其实都可以看作是一维的,同样,一维也可以看成几维的。
int a[6] = {0, 1 ,2, 3, 4, 5}; // 一维数组
int b[2][3]; // 二维数组
int m = 2, n = 3;

for (int i = 0; i < m; i++)
{
for (int j = 0; j < n; j++)
{
b[i][j] = a[i*n + j];
}
}
把一维数组a转化成了二维数组b;
jzq740176597
2010-12-14 · TA获得超过301个赞
知道答主
回答量:168
采纳率:0%
帮助的人:192万
展开全部
其实数组这个东西重要的就是首地址,很多的东西都是首地址非常重要的,可以赋值给一个指针, 但是注意用Heap上分配动态内存的时候,注意数组的药用operator new[] ,对应的释放内存的时候药用operator delete[] ,非则会造成内存泄露。
在计算机来看,斌没有什么一位或者二维数组一说,都是连续分配的一组内存,其物理内存是连续的,而且逻辑上的关系也是连续的。
通过首地址,也就是数组名的代表的,通过计算机的偏移量算术的拿手好戏来确定到底是哪一个数据而已,在MFC实现的编程中,现在数组已经不常见了,因为有了STL中的vector来代替他,同样的高效但是后者更加的安全。
假如:一个数组 a[10] ; a[1] ==*(a+1)而可以按照二维的方式去访问。如a[2][2] ==*(*(a+2)+2).好运!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式