假设我在C / C ++中有一个数组:
int myArray[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
与Java相同:
int[] myArray = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
与其他编程语言中的等价物。
是否保证元素始终与我在初始化时输入的顺序相同?例如:1, 2, 3, 4, 5, 6, 7, 8, 9, 10
。
注意:我已经问过{编程语言的this question,我知道这是真的。但我想知道这种行为是否适用于任何(或大多数)编程语言,我不确定编辑是否是最好的方式。
答案 0 :(得分:6)
让我们听听C的创作者对此有何看法:
C BY BRIAN W KERNIGHAN& DENNIS M RITCHIE,第二版,第95页。可以通过使用列表声明数组来初始化数组 用括号括起来并用逗号分隔的初始化程序。对于 例如,使用每个天数来初始化数组天数 月:
int days[] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }
当省略数组的大小时,编译器将计算 通过计算初始化器的长度,其中有12个 案件。如果数组的初始值设定项少于指定的初始值设定项 大小,其他对于外部,静态和自动将为零 变量。拥有太多初始值设定项是错误的。
没有 指定初始化程序重复的方法,也不能初始化 数组中间的元素,不提供前面的所有内容 价值观也是如此。
字符数组是初始化的特例; 可以使用字符串代替大括号和逗号表示法:
char pattern = "ould";
是较长但速度相同的简写
char pattern[] = { 'o', 'u', 'l', 'd', '\0' };
在这种情况下,数组大小 是五(四个字符加上终止' \ 0')。
答案 1 :(得分:2)
两种情况都是一样的
int[] myArray = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
它只会做
int[0] = 1
int[1] = 2
.
.
.
int[9] = 10
语言int[] array
的语言与java
的理想选择是理想的,只是为了方便程序int array[]
。