求系统知识点讲解,C中的数组首地址和数组 与 Java中数组首地址及数组之间的赋值 的区别
那如何让数组a的值只是复制到数组b中?像楼下说的用中间变量么?
Java中数组之间的赋值是不是和C/C++的相同?
不需要,数组有克隆方法 clone(),使用数组类型接受,就能完全复制
Java中数组还能代表指针么?有没有系统的知识点讲解?
追答理论上来说:java中是没有指针的。 但是在集合中有一个和C中的指针相似的叫游标。
有什么区别?
追答你那样
int[] a;
int[] b;
b = a; 那么现在b和a都指向同一个数组了
用一个中间变量的话
int[] tmp = a; // tmp 指向原来的a
a = b; // a 指向 b
b = tmp; // b 指向 tmp,即原来的a
我不是针对这个程序,我想弄明白在Java中,数组和指针的关系它和C里边的区别和相同点,Java中没法明用指针,如何处理数组和指针之间的变换,求知识点
追答java中是用引用
就像int[] a = {1,2,3};
是在内存中创建这个数组对象,再把这个对象的引用赋给a(和指针有相似点,但不同)
如果再写一句int[] b = a;那么这个b和a都指向{1,2,3}这个数组,现在如果通过a或者b对数组进行改变(比如a[0] = 5;),那么,就是通过这个引用去改变了数组对象,这时b[0]获得的结果也是5,因为它们是指向同一个对象的引用。 大致就这样了。