最近整理一下java和c的数组的区别,因为我常常把两者用法混在一起。
- java的数组是对象;c的数组是数据结构。
- java的数组声明的时候不能包含数组的大小,只能在新建对象的时候指定数组大小;c的数组可以在声明的时候包含数组大小。
// java code
int array[10]; // illegal!!!
int array[] = new int[10]; // legal
// c code
int array[10]; // legal;
- 新建基本数据类型的java数组的时候,无论在哪里新建,都具有初始值;c的数组仅当在全局变量和静态变量的情况下才有初始值,局部非静态变量没有初始值。
- java的数组在声明的时候,[]可以在变量的左边或者右边,可以空格也可以不空格;c的数组在声明的时候[]只能在变量的右边。
// java code
int array[] = new int[3]; // legal;
int[] array = new int[3]; // legal;
int []array = new int[3]; // legal;
// c code
int [12] array; // illegal
int array[12]; // legal
int array [12]; // legal
不正确之处请指明,谢谢。