多维数组是指拥有多组小标的数组,维数的限制有具体编译器决定。多维数组的一般声明形式为:
数据类型 数组名[长度1][长度2]......[长度n];
数组的总长度等于每组下标长度的乘积。多维数组使用连续的存储空间,编译器在为多维数组分配内存单元时,首先从 “数组[0][0]......[0]” 开始,沿着最后一组小标顺序分配。当分配到长度 n 后,将倒数第二组下标加上 1,继续沿着最后一组下标顺序分配。分配内存时,多维数组的第 i 组下标的变化,要在第(k-1) x (i-2)......n 次后。
由于大量占用内存的关系,三维数组以上的多维数组较少使用。计算机要花大量的时间计算数组的小标,这意味着存取多维数组的元素要比存一维数组的元素花更多时间。由于这些原因,多维数组通常借助指针当作一维数组使用。