黑马程序员技术交流社区

标题: 新手一个关于一维数组和二维数组的小问题 [打印本页]

作者: iBadboy    时间: 2013-7-19 21:25
标题: 新手一个关于一维数组和二维数组的小问题
本帖最后由 iBadboy 于 2013-7-20 10:25 编辑

int[] x;int[][] y;   这样的两个数组,请问这里的x是指向什么?y是指向什么?y[]呢?关于视频中下面这些的对错,能再给我解释一下吗?
x[0] = y;
y[0] = x;
y[0][0]=x;
x[0][0]=y;
y[0][0]=x[0];
x=y;



作者: xscn    时间: 2013-7-19 21:37
int[] x;int[][] y;   这样的两个数组,请问这里的x是指向什么?y是指向什么?y[]呢?关于视频中下面这些的对错,能再给我解释一下吗?
x是指定义了一个int类型的一维数组,
y是指定义了一个int类型的二维数组,

x[0] = y;//把二维数组赋值给一维数组中的0角标元素,显然错的
y[0] = x;//把二维数组中角标0的一维数组赋值给一个一维数组,是可以的
y[0][0]=x;//把二维数组中的一个具体元素赋值给一维数组,错的
x[0][0]=y;//x不是二维数组,错的
y[0][0]=x[0];//二维数组中的元素赋值给一维数组中的元素,元素给元素赋值,可以的
x=y;//把一维数组赋值给二维数组,错的


作者: 白堇翎    时间: 2013-7-19 21:45
本帖最后由 白堇翎 于 2013-7-19 21:49 编辑

x和y指向的都是内存地址 内存地址中储存的是数组中的元素.
y指向的内存地址中储存的是其内部数组的内存地址
x[0] = y 错 y指向的是内存地址 不能赋值给x[0]
y[0] =x  对 指向的同样是内存地址
y[0][0]=x 错 x指向的是内存地址 y[0][0]指向的是元素 不能赋值
x[0][0]=y 错 x不是二维数组
y[0][0]=x[0] 对 指向的同样是元素
x=y 错 虽然都是指向地址 但是类型不同

作者: 清心玉质    时间: 2013-7-19 21:49
int[] x;int[][] y;   x是指向一个一维数组;y是指向一个二维数组
x[0] = y;不对,x[0]代表一维数组的第一元素,不能把一个二维数组赋给一个一维数组的第一个元素
y[0] = x;正确 二维数组其实就两个一维数组组成的,这个其实就是把一个一维数组作为y的第一行
y[0][0]=x;,不对,y[0][0]是一个具体的元素,不能把一个数组赋给y的第一个元素
x[0][0]=y; 不对,答案同上一个
y[0][0]=x[0];可以,把一个值赋给另一个元素
x=y; 不对,不能把一个二维数组赋值给一维数组

作者: 月亮人生    时间: 2013-7-19 23:37
x指向了int类型的一维数组的首地址,
y指向了int类型的二维数组的首地址。、
y[]也指向了二维数组中的一维数组的地址。

x[0] = y;//x[0]里存的是元素,而y里存的是地址。错误。
y[0] = x;//将x存的一维数组的地址值赋给二维数组中的第一个一维数组。正确。
y[0][0]=x;//y[0][0]里存的是元素,而x存的是地址,错误。
x[0][0]=y;//x是一维数组。错误,
y[0][0]=x[0];将一维数组的第一个元素x[0]赋给二维数组中的第一个元素y[0]。正确
x=y;//x,y 存的都是地址值,但是x是一维数组,y是二维数组。类型不同。错误。
作者: iBadboy    时间: 2013-7-20 10:23
白堇翎 发表于 2013-7-19 21:45
x和y指向的都是内存地址 内存地址中储存的是数组中的元素.
y指向的内存地址中储存的是其内部数组的内存地址 ...

多谢,很详细
作者: iBadboy    时间: 2013-7-20 10:24
清心玉质 发表于 2013-7-19 21:49
int[] x;int[][] y;   x是指向一个一维数组;y是指向一个二维数组
x[0] = y;不对,x[0]代表一维数组的第一 ...

多谢多谢,很详细
作者: iBadboy    时间: 2013-7-20 10:24
清心玉质 发表于 2013-7-19 21:49
int[] x;int[][] y;   x是指向一个一维数组;y是指向一个二维数组
x[0] = y;不对,x[0]代表一维数组的第一 ...

多谢啦,明白啦
作者: iBadboy    时间: 2013-7-20 10:24
月亮人生 发表于 2013-7-19 23:37
x指向了int类型的一维数组的首地址,
y指向了int类型的二维数组的首地址。、
y[]也指向了二维数组中的一维 ...

多谢多谢。。。
作者: 月亮人生    时间: 2013-7-20 10:44
iBadboy 发表于 2013-7-20 10:24
多谢多谢。。。

互相学习。。。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2