实际上,规模为n的数组变量是由n个普通的变量组成的。
简介
对于c而言,数组变量就是指数组名,它的值等于数组第一个元素的地址。
声明数组变量可以用 type Array[index]的方式进行。
数组是基于0的:第一个元素的下标以0开始。
注意数组变量与数组的区别:数组变量是一个地址,数组是一系列连续分布的内存。
注意数组变量与指针的区别:数组变量某种意义上代表了一个固定的指针值,可以参加运算,但是不可以对它进行赋值,如果c是一个数组变量,如c++,c=p是不合法的但是*(c+2)是合法的。
完成流程
一个数组的外部声明使用内建命令declare 来完成:
declare ARRAYNAME
一个带有索引值的声明也是可以接受的,但是索引值将被忽略。对数组的指定属性可以通过使用内建命令 declare 和 readonly。属性对数组中的所有变量起作用;你不能使用混合数组。
数组变量也可以使用这种格式的复合赋值来建立:
ARRAY=(value1 value2 ... valueN)
每个值将以这种形式 string 排列。索引号是可选的。如果提供,索引号就赋给它;otherwise the index of the element assigned is the number of the last index that was assigned, plus one. 这样的格式 declare 也可以接受。如果不提供索引值,那索引自动从零开始。
在数组中加入缺少或者额外的成员使用以下语法:
ARRAYNAME=value
记住 内建命令提供 -a 选项,来允许对一个数组的
成员变量进行读取和赋值。