天天看點

數組和指針

//嚴格地說,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

上一篇: 數組和指針

繼續閱讀