
注意:常量表达式包括常量与符号常量,不能包含变量。
上面的示例中,定义了一个int整型数组,数组名为a,定义的数组称为数组 a。还定义了一个字符类型的数组,数组名为c,定义的数组称为数组 c。
此时数组 a 中有 5 个元素,每个元素都是 int 型变量;数组c中有 3 个元素,每个元素都是 char 型变量。
说明:数组名除了表示该数组之外,还表示该数组的首地址。数组中的元素在内存中的地址是连续分配的。
下面我们来看看C语言定义和初始化一维数组的几种形式:
示例1:整型数组的定义和初始化
示例2:字符数组的定义和初始化
char str1[30] = { 'L', 'e', 't', '\'', 's',' ', 'g', 'o', '\0' }; // 字符串长度:8;数组长度:30
char str1[30] = "Let's go"; // 字符串长度:8;数组长度:30
char str2[] = " to London!"; // 字符串长度:11 (注意开头的空格);数组长度:12
定义公式:类型说明符 数组名[常量表达式][常量表达式];
每个数组元素当成某个商品,这些商品的种类都是一样的。
每个商品放置在货架的某个位置上,这个位置就是内存地址。
这些商品摆放的位置是相互紧挨着 而且每个占据的货架空间大小是一致的。
数组的下标就表示这些商品的个数。
数组的名称和第一个商品的位置都可以表示这个数组的首地址。
总结:数组就是同类元素的集合,此集合元素的排列是紧密的、一个接一个的,且每个元素占据空间一致的内存块。
所谓结构体数组,是指数组中的每个元素都是一个结构体。在实际应用中,结构体数组常被用来表示一个拥有相同数据结构的群体,比如一个班的学生、一个车间的职工等。
定义结构体数组和定义结构体变量的方式类似,请看下面的例子:
表示一个班级有5个学生。
假如要定义一个班级40个同学的姓名、性别、年龄和住址, 可以定义成一个结构数组。如下所示:
需要指出的是结构数组成员的访问是以数组元素为结构变量的, 其形式为:
结构数组元素.成员名
实际上结构数组相当于一个二维构造, 第一维是结构数组元素, 每个元素是
一个结构变量, 第二维是结构成员。
注意: 结构数组的成员也可以是数组变量。