关于定义数组时必须指定长度

C语言规定数组长度在编译时必须有明确的值,即必须在数组定义时指定数组的长度;指定数组长度的常量表达式只能是整型字面常量或符号常量。

int A[10]; //正确

int[] A; //错误,C语言不允许这样方式定义

int m=10,F[m]; //错误,长度是变量


而在java、C#中,与C语言中的这种数组定义形式完全不同。

在C#中,数组定义格式:

int[] a=new int[10];  //正确

int a[]=new int[10]; //错误,秩说明符应位于变量标识符之前。

在java中,要求稍微宽泛了一些:

int[] a=new int[10];  //正确

int a[]=new int[10]; //正确

但无论是java还是C#类似于C语言的数组定义方式都是不被允许的。

即int A[10];不正确,这两个语言不允许在数组定义时指定长度,因为其数组定义与初始化是分开的,只能在初始化时指定其数组长度。


归根结底,这种数组定义的差别,正是编程语言定义的规则之间的差别,我们只要注意即可。

猜你喜欢

转载自blog.csdn.net/scaped/article/details/79493580