| 4.4  数组变量 所谓数组就是指具有相同数据类型的变量集, 并拥有共同的名字。数组中的每
 个特定元素都使用下标来访问。数组由一段连续的存贮地址构成, 最低的地址对应
 于第一个数组元素, 最高的地址对应最后一个数组元素。数组可以是一维的、也可
 以是多维的。Turbo C2.0象它高级语方一样也使用数组变量。
 
     一、一维数组 一维数组的说明格式是:
 类型  变量名[长度];
 类型是指数据类型, 即每一个数组元素的数据类型, 包括整数型、浮点型、字
 符型、指针型以及结构和联合。
 例如:
 int a[10];
 unsigned long a[20];
 char *s[5];
 char *f[];
 
     说明: 1. 数组都是以0作为第一个元素的下标, 因此, 当说明一个int a[16] 的整型
 数组时, 表明该数组有16个元素, a[0]~a[15], 一个元素为一个整型变量。
 2. 大多数字符串用一维数组表示。数组元素的多少表示字符串长度,  数组名
 表示字符串中第一个字符的地址,   例如在语句char  str[ 8] 说明的数组中存入
 "hello"字符串后, str表示第一个字母"h"所在的内存单元地址。str[0] 存放的是
 字母"h"的ASCII码值, 以此类推, str[4]存入的是字母"o"的ASCII码值, str[5]则
 应存放字符串终止符'\0'。
 3. Turbo C2.0对数组不作边界检查。例如用下面语句说明两个数组
 char str1[5], str2[6];
 当赋给str1一个字符串"ABCDEFG"时, 只有"ABCDE"被赋给, "E" 将会自动的赋
 给str2, 这点应特别注意。
 
     三、多维数组 多维数组的一般说明格式是:
 类型  数组名[第n维长度][第n-1维长度]......[第1维长度];
 这种说明方式与BASIC、FORTRAN等语言中多维数组的说明不一样。
 例如:
 int m[3][2];       /*定义一个整数型的二维数组*/
 char c[2][2][3];   /*定义一个字符型的三维数组*/
 数组m[3][2]共有3*2=6个元素, 顺序为:
 m[0][0], m[0][1], m[1][0], m[1][1], m[2][0], m[2][1];
 数组c[2][2][3]共有2*2*3=12个元素, 顺序为:
 c[0][0][0], c[0][0][1], c[0][0][2],
 c[0][1][0], c[0][1][1], c[0][1][2],
 c[1][0][0], c[1][0][1], c[1][0][2],
 c[1][1][0], c[1][1][1], c[1][1][2],
 数组占用的内存空间(即字节数)的计算式为:
 字节数=第1维长度*第2维长度*...*第n维长度*该数组数据类型占用的字节数
 
 |