java的数组和C语言数组有什么区别

Python011

java的数组和C语言数组有什么区别,第1张

java的数组其实是一个对象,因为其中不只是包含数据信息,还包括数组的长度等其他信息,一般现在只用到了长度信息,举个简单的例子,c语言中,int a[5],要用for循环来为每个数组元素赋值,只能for(i=0i<5i++) scanf("%d",&a[i])而在java中,可以这样,int[] a=new int[5],for(i=0i<a.lengthi++) system.out.println(a[i])

楼上错了,第一java 声明数组:int[] array或者 int [] array,int array[]都可以

第二,基本数据数组不是什么数组类的一个实例,而跟C语言差不多就是一个数组,由堆栈地址指向堆内存内容

第三,指针本质上跟引用差不多

我晕,区别大着呢。首先,java中一切皆对象。当然包括数组了。java在声明数组的时候不能加数量的.只能初始化的时候加int[] a = new int[3]或int a[] = new int[3]都行 c语言中,声明的时候加不加数量都可以int a[3] = {1,2,3}int a[] = {1,2,3}在C/C++中,我们定义的变量所需的空间都是分配在栈上的,而new所需的空间都是分配在堆上的在栈上的变量必须在代码中明确指出大小,所以在C/C++中定义数组必须指定大小而JAVA中所有的变量都是引用,换个角度理解就是C++中的指针,所以在JAVA中的变量都是后期分配的