java数组引用问题
发布网友
发布时间:2022-05-24 11:19
我来回答
共5个回答
热心网友
时间:2023-10-11 20:46
你这是错误用法,首先你要弄清a只是内存地址,+1只是内存地址+1而已,如果你第一个元素长度不同,那么,你a+1不知指向哪里了。
例如,假如内存一个地址是32位,而第一个元素长是32位,那么a+1刚好是指向第二个元素,但第一个元素长是64位,就出错了
热心网友
时间:2023-10-11 20:47
你这是c语言用法。。。
如果说是想通过如上定义的b[0] = 1造成a[1] = 1的效果的话,我估计java里面是无解的
否则的话可以用Arrays的copyOfRange方法
热心网友
时间:2023-10-11 20:47
考虑一下System里的arraycopy吧。
arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
src 源数组
srcpos 源数组起始位置(比如你要的a[1],就可以赋值1)
dest 目标数组
destpos 目标数组 起始位置(0即可)
length 长度
希望会有帮助
热心网友
时间:2023-10-11 20:48
那你先获得a的引用,在用这个引用为另一个数组赋值不就行了。
int b[]=a;
int c[].....
用b给c赋值
热心网友
时间:2023-10-11 20:48
不是这样的。
int b[]={a[1],a[2],a[3]};