//嚴格地說,C++中沒有多元數組,通常所指的多元數組其實就是數組的數組。
//如果數組的元素又是數組,則稱為二維數組,以此類推。
#include <iostream.h>
int a[3] = {1, 2, 3};
int b[3][4] = {1, 2, 3, 4,
5, 6, 7, 8,
9,10,11,12};
void main()
{
cout << *(a + 2) << endl; //C++将數組名視為數組的第一個元素的位址
cout << a[2] << endl;
cout << *(b[1] + 1) << endl;
//隻有初始化的數組才可以省略第一維長度
//b[1]代表0行1列的位址,b[1] + 1表示行的位址再加1的位址
cout << *(*(b + 2) + 1) << endl;
//b+2表示0列的位址再加上2的位址就是2行0列的位址
//*(b + 2) 表示元素9,元素9的數組再加上1個位址,就是2行1列的位址
//如果b+2前面沒有*,則相當于b+3,此時數組越界
}
程式輸出結果為:
3