数组的引用

122 阅读1分钟

因为我是学习C语言出身,第二门语言是java所以在数组这一块发现了两者的些许不同----数组的引用

首先举个例子: 1、

public static void main(String args[]){
int []a={10,20,30,40},b[] ={{1,2},{4,5,6,7}};
b[0]=a;
b[0][1]=b[1][3];
System.out.println(b[0][3]);
System.out.println(a[1]);
}

应该输出什么?

2、

	int a[] = { 10,20,30,40 };
	int b[][4] = { {1,2},{4,5,6,7} };
	b[0][1] = a;
        b[0][1]=b[1][3];
	printf("%d", b[0][3]);
	printf("\n%d", a[1]);
	printf("\n%d", b[0][1]);

}

又应该输出什么?

结果

1、

搜狗截图21年10月31日1454_6.png

2、

搜狗截图21年10月31日1500_7.png

分析

java和c的书写格式不同---其本质原因就是数组的引用不同

我用Java语言书写VS2019时报了很多错

搜狗截图21年10月31日1437_1.png

搜狗截图21年10月31日1441_4.png

归根结底,Java是如何进行数组的引用的呢?

数组属于引用型变量,因此两个相同类型的数组如果具有相同的引用,它们就有完全相同的元素。

QQ图片20211031151318.png

QQ图片20211031151358.png

QQ图片20211031152517.jpg