A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 吃阁子的猫 中级黑马   /  2013-8-28 09:43  /  2358 人查看  /  15 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 吃阁子的猫 于 2013-9-2 22:18 编辑

int[]y,x[]
x[0][0] = y[0];   //答案是什么,为什么呢?
x[0] = y[0] ;    //答案是什么,为什么呢?
二维数组犯晕,求解析

评分

参与人数 1技术分 +1 收起 理由
神之梦 + 1 淡定

查看全部评分

15 个回复

倒序浏览
我也还在看教程,如果理解有误请指正。
int[] y,x[]
//数组不能这样创建的,假如你要创建数组y,二维数组x
x[0][0] = y[0];
//没有初始化的数组内容都是0,这一步没意义
x[0] = y[0];
//x[0]存放指向数组的指针,不能指向具体的数,可以写成x[0]=y;
//

评分

参与人数 1技术分 +1 收起 理由
神之梦 + 1 数组可以那样创建

查看全部评分

回复 使用道具 举报
yxz 发表于 2013-8-28 10:37
我也还在看教程,如果理解有误请指正。
int[] y,x[]
//数组不能这样创建的,假如你要创建数组y,二维数组x

呵呵,其实y是一个以为数组,x是一个二维数组,前面的int[]是做声明用的,即等于int[] y 和 int[] x[]
回复 使用道具 举报
int[]y,x[]
可分解为int[]y   int[] x [];  
若已经初始化
x[0][0] = y[0];就是将y数组的第一个赋值给二维数组(x)第一个数组的第一个值。
可以编译运行。
x[0] = y[0]
将y数组的第一个赋值给二维数组(x)数组的数组长度.  
数组长度一旦初始化,就确定了
x[0][0]  第一个0 代表数组有几个一位数组,第二0个代表数组长度

点评

第二种赋值行不通  发表于 2013-9-1 23:00

评分

参与人数 1技术分 +1 收起 理由
神之梦 + 1

查看全部评分

回复 使用道具 举报
吃阁子的猫 发表于 2013-8-28 12:49
呵呵,其实y是一个以为数组,x是一个二维数组,前面的int[]是做声明用的,即等于int[] y 和 int[] x[] ...

我也想过这个问题,不过因为数组如果不赋值就无法确定长度,这样声明的x和y相当于只是被标记为数组,但是没有指向内存地址。不能进行任何计算啊?
回复 使用道具 举报
肖博 发表于 2013-8-28 14:46
int[]y,x[]
可分解为int[]y   int[] x [];  
若已经初始化

值为什么可以赋给变量呢,值不是只能赋给变量吗?还有第二个是可以编译运行的吗?
回复 使用道具 举报
yxz 发表于 2013-8-28 15:06
我也想过这个问题,不过因为数组如果不赋值就无法确定长度,这样声明的x和y相当于只是被标记为数组,但是 ...

这个...只是声明,没有计算吧,有点晕
回复 使用道具 举报
int[]y,x[]的意思是一个一位数组int[] y和二位数组int[][] x  ,    x[0][0] = y[0]; 是正确的, x[0] = y[0] ;是错误的

评分

参与人数 1技术分 +1 收起 理由
神之梦 + 1

查看全部评分

回复 使用道具 举报
肖博 中级黑马 2013-8-31 15:53:20
9#
x[0][0] = y[0];
因为已经将 数组x长度 确定为 0 ,y的长度也是零  可以传入
x[0] = y[0] ;  
数组 x  的 长度为零   数组 y  的长度也为0,但是数组x为二维数组,格式错误,需要确定 是第几个数组  即x[a][]
回复 使用道具 举报
亲,如问题已解决请将分类的“未解决”改为“已解决”。
以后的问题贴也要及时更改分类哦~
回复 使用道具 举报
黄文伯 发表于 2013-9-2 21:56
亲,如问题已解决请将分类的“未解决”改为“已解决”。
以后的问题贴也要及时更改分类哦~ ...

嗯嗯嗯好的
回复 使用道具 举报
第一行让我们知道y是一个一维数组,x是一个二维数组
回复 使用道具 举报
陶智第 发表于 2013-9-2 22:30
第一行让我们知道y是一个一维数组,x是一个二维数组

恩恩,对了
回复 使用道具 举报
怎么还在纠结这个问题:int[]y,x[]
分析:y 为一维数组,x为二维数组
x[0][0]=y[0]         是可以的,一维数组的元素值赋给二维数组0角标位置中的一维0角标元素
x[0]=y[0]              不可以的,x[0]表示0角标位的数组,而y[0]表示一维中0角标元素
回复 使用道具 举报
天下 发表于 2013-9-2 22:57
怎么还在纠结这个问题:int[]y,x[]
分析:y 为一维数组,x为二维数组
x[0][0]=y[0]         是可以的,一维 ...

恩恩好的谢谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马