數組下標訪問

Q:int A[2][3]={1,2,3,4,5,6};,則A[1][0]和*(*(A+1)+1)的值分別是(A)數組

    A、4 5
    B、4 3
    C、3 5
    D、3 4

A:假設給一個一維數組 int a[5];首先要明白 a 和 &a 的意思,他們地址值同樣:spa

能夠把a理解江蘇的省會南京市(即江蘇省城市排名中的第一個,對應數組中的第一個元素),&a理解爲江蘇省;那麼a+1的值就是江蘇省裏的其餘市,好比蘇州市;&a+1理解爲安徽的鄰省好比安徽省,因此&a+1可能就輸出一個不肯定的數了。
code

在二維數組裏也是同樣,int A[2][3](這個數組其實能夠看作有兩個一維數組,每一個一維數組裏有3個元素,a[1][2]就是指向第二個一維數組的第三個元素),A+1的話表明A[0](這是二維數組裏的第一個含有3個元素的一維數組)下一個的一維數組A[1],而&a+1就是一個不肯定的數了;那麼(1)A[1][0]就是4;*(*(A+1)+1);*(A+1)指向a[1]這個一維數組,也即指向4,而後+1(加4個字節)就是指向下一個元素5,而後*運算就是輸出5。it

相關文章
相關標籤/搜索