C中數(shù)組和指針的關(guān)系是緊密的,實(shí)際上C中的數(shù)組就是靠指針定義的
——C Primer Plus(第五版)
多維數(shù)組和n級(jí)指針緊密聯(lián)系,這其中涉及的內(nèi)容比較多暴凑,本篇文章講其中的一部分。
首先,我們聲明一個(gè)二維數(shù)組d_array[2][2]
:
int d_array[2][2];
在一維數(shù)組中赔嚎,數(shù)組和指針的一個(gè)關(guān)系就是array是指向array[0]的指針,這在多維數(shù)組中也不例外胧弛,例如尤误,對(duì)于上述數(shù)組d_array就有關(guān)系式:
d_array == &d_array[0] //d_array是d_array[0]的指針
但基于現(xiàn)在的上下文,我們是在討論多維數(shù)組结缚,d_array[0]也是一個(gè)數(shù)組损晤,所以,同樣地红竭,也有:d_array[0] == &d_array[0][0] //d_array[0]是d_array[0][0]的指針
由上兩個(gè)結(jié)論尤勋,我們可以得出:**d_array == d_array[0][0] //d_array是d_array[0][0]的指針的指針
基于上述對(duì)多維數(shù)組與指針的關(guān)系,我們不難理解下面這一些簡(jiǎn)單的指針加法:
d_array+1 == &d_array[1] //對(duì)d_array+1得到指向下一個(gè)數(shù)組首元素的指針
d_array[0]+1 == &d_array[0][1] //對(duì)d_array[0]+1可以得到d_array[0]數(shù)組中第2個(gè)元素的地址
本文就先講到這里