在声明数组时,我们可以在标识符的任何一侧使用方括号,但在以下情况下:
int[] k,i;
和
int k[],i;
将以两种不同的方式来考虑它。那是第一个创建两个数组k和i。第二个创建一个数组k和一个普通变量i。这是什么行为?
编辑: 在Java中,通常我们更喜欢第一类声明。但是在这种情况下,我们无法在单个语句中创建数组和原始变量。
我的 猜测 如下:
该声明int[] k更具逻辑性,因为它声明k为的 数组int。因此,它是Java中的首选(?)样式。
int[] k
k
int
int k[]另一方面,是用C的方式声明此数组(K&R在声明语法时使用了不同的哲学–他们希望声明模仿对变量的 访问 )并简化C程序员的过渡,这种语法也是允许-没有伤害。
int k[]
现在,在上面的语句中,您已经链接了两个声明。在第一种情况下,两个变量都使用相同的类型声明- 这显然是int[]。但是,在第二个代码中,此行为将是违反直觉的(并且也不同于C的行为),因此具有其他语义。
int[]
请记住,这纯粹是猜测。