C语言非常道
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

5.1.1 数组变量的声明

在对数组有了基本的认知后,我们再来看数组声明的要素和特点。我们知道,解析一个声明要从标识符开始,向左或者向右读。特别地,如果标识符的右边是“[”或者“(”,则必须先向右读。

如果标识符右边是“[”,则它代表一个数组。如图5-2所示,在上述声明中,标识符vars的右边是“[”,则我们先要向右读,读作“vars的类型是数组”,或者“vars是一个数组”。

图5-2 数组变量的声明示意图

既然是数组,那么,要是方括号里有数字,那就是数组的元素数量,就继续向右读它的元素数量,即“该数组有5个元素”。读完元素数量后,继续向右直至遇到配对的“]”,看“]”的右边有没有东西。如果没有东西,就转而向左读,在这里会遇到“int”,这是数组的元素类型,读作“元素的类型是int”。

最后,整个过程合在一起,读为“vars是一个数组,该数组有5个元素,元素的类型是int”。

数组类型是个统称,不同的数组类型是以它们的元素类型和元素数量为特征的。也就是说,元素数量不同,元素类型不同的数组,属于不同的数组类型。

在下例中声明了4个数组,数组a和数组b的类型相同,都属于同一种数组类型,因为它们的元素数量相同,元素的类型也相同;除此之外,任何其他两个数组的类型彼此不同,要么是因为元素数量不同,要么是因为元素类型不同。

              int a [5], b [5], c [3];
              signed char d [256];

数组由元素(子变量)聚在一起合成,所以被称为聚合类型。数组变量的元素没有名字,所以只能按序号访问,每个元素的序号称为下标。下标是一个整数,第1个元素的下标是0,第2个元素的下标是1,第3个元素的下标是2,后面的元素以此类推。如果数组有N个元素,则最后一个元素的下标是N-1。

练习5.1

1.某数组有7个元素,第6个元素的下标是几?