当前位置: 代码迷 >> C语言 >> 数组行?解决方法
  详细解决方案

数组行?解决方法

热度:7215   发布时间:2013-02-26 00:00:00.0
数组行?
本帖最后由 GioPna 于 2013-01-24 18:03:29 编辑
《C语言程序设计 现代方法》
12.4.2 处理多维数组的行
处理二维数组的一行中的元素,该怎么办呢?再次选择使用指针变量p。为访问到第i行的元素,需要初始化p使其指向数组a中第i行的元素0:
p=&a[i][0];

----------------------------------------------------

问题:
  1.数组在计算机的内部是以行序存储。也就是说,无论多少维数组,它都被存储为一行
    书本所说的第i行是什么意思?
  2.如果,是三维或以上的数组,它的行是指什么?

------解决方案--------------------------------------------------------
内存是平坦的,一维的,这是物理上的。
所谓的一维数组,二维数组,三维数组……都是逻辑上的。
所谓的“行”,也是逻辑上的说法。
其实只有一维数组,所谓二维数组,它是一个一维数组,数组的每个元素(即“行”)是个数组;
所谓三维数组,它是一个一维数组,数组的每个元素是个一维数组(该一维数组的元素是是数组)
依次类推。
给定:
int a[2][2][2] = {
 { { 0, 1, }, { 2, 3, }, },
 { { 4, 5, }, { 6, 7, }, },
};
它的内存大概像这样:

           
------解决方案--------------------------------------------------------
.
------解决方案--------------------------------------------------------

           
------解决方案--------------------------------------------------------
.
------解决方案--------------------------------------------------------

           
------解决方案--------------------------------------------------------
.
------解决方案--------------------------------------------------------

a[1][1][1] 
------解决方案--------------------------------------------------------
7
------解决方案--------------------------------------------------------

a[1][1][0] 
------解决方案--------------------------------------------------------
6
------解决方案--------------------------------------------------------

a[1][0][1] 
------解决方案--------------------------------------------------------
5
------解决方案--------------------------------------------------------

a[1][0][0] 
------解决方案--------------------------------------------------------
4
------解决方案--------------------------------------------------------

a[0][1][1] 
------解决方案--------------------------------------------------------
3
------解决方案--------------------------------------------------------

a[0][1][0] 
------解决方案--------------------------------------------------------
2
------解决方案--------------------------------------------------------

a[0][0][1] 
------解决方案--------------------------------------------------------
1
------解决方案--------------------------------------------------------

a[0][0][0] 
------解决方案--------------------------------------------------------
0
------解决方案--------------------------------------------------------

           
------解决方案--------------------------------------------------------
  相关解决方案