1、严格地说,C++没有多维数组,通常所指的多维数组其实就是数组的数组。
2、二维数组举例:
int ia[3][4] = { /* 3 elements, each element is an array of size 4 */
{0, 1, 2, 3} , /* initializers for row indexed by 0 */
{4, 5, 6, 7} , /* initializers for row indexed by 1 */
{8, 9, 10, 11} /* initializers for row indexed by 2 */
};
以上表述等价于
int ia[3][4] = {0,1,2,3,4,5,6,7,8,9,10,11};
3、定义指向多维数组的指针时,千万别忘了该指针所指向的多维数组其实是数组的数组。
4、用 typedef 简化指向多维数组的指针
typedef 类型定义(第 2.6 节)可使指向多维数组元素的指针更容易读、写和理解。以下程序用 typedef 为 ia 的元素类型定义新的类型名:
typedef int int_array[4]; int_array *ip = ia;