首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

数组与指针,该如何解决

2012-02-09 
数组与指针请问对于一个数组intarray[3][4][5]下面这几个值相等应该怎么解释?谢谢!cout array a

数组与指针
请问对于一个   数组   int   array[3][4][5];

下面这几个值相等应该怎么解释?   谢谢!

  cout < < "array   " < <array   < <endl;
    cout < < "array[0]   " < <array[0]   < <endl;  
      cout < < "array[0]   " < <&array[0]   < <endl;
    cout < < "array[0]   " < <array[0][0]   < <endl;
      cout < < "array[0]   " < <&array[0][0] < <endl;
    cout < < "array[0]   " < <&array[0][0][0]   < <endl;

[解决办法]
都是整个数组的第一个位置指针啦

[解决办法]
你要理解
a[i][j][k]相当于*( *( *( *a+i )+j ) +k )
所以多重数组
***a = **a = *a = a
[解决办法]
数组名可表示数组的首地址
[解决办法]
他们的实际值是一样的,只是类型不同

[解决办法]
都是一样的,都是显示第一个元素的地址!
数组本来就可以看成是指针地址!!

[解决办法]
全部是数组首元素地址
[解决办法]
int array[3][4][5];

这个的内存假想空间是三维的. 3 * 4 * 5 就是总大小.
但是实际上内存地址并不是三维的,而是一条直线, 也就是说数组最终都是用一个算法来转换成一个线性的模型.

[解决办法]
相等是很合理的
[解决办法]
他们都在描述同一个维的数据
[解决办法]
偶抽象思维不好,三维的东西头晕 ^_^

都表示起点的地址,
整个数组的起始地址

第一 * 的起始地址
第一 * 的起始地址

第一 * 第一 * 的起始地址
第一 * 第一 * 的起始地址

第一 * 第一 * 第一 * 的起始地址


热点排行