位置:首頁(yè) > 軟件操作教程 > 編程開發(fā) > C語言 > 問題詳情

C語言 二維數(shù)組的指針

提問人:劉團(tuán)圓發(fā)布時(shí)間:2020-12-01

二維數(shù)組可以看作特殊的一維數(shù)組,即,可以理解成數(shù)組的數(shù)組。例如有如下數(shù)組定義語句:

    int  a[3][4]={{1,3,5,7},{9,11,13,15}, {17,19,21,23}};

    可以把二維數(shù)組看成一個(gè)特殊的一維數(shù)組,數(shù)組名a代表數(shù)組的起始地址,而其第一個(gè)元素a[0]也是一個(gè)數(shù)組---包含4個(gè)int數(shù)據(jù)的一維數(shù)組,所以該二維數(shù)組a是由三個(gè)“特殊的”元素組成的一個(gè)“特殊的”一維數(shù)組。a[0]、a[1]、a[2]分別代表該數(shù)組中的三個(gè)元素(三行)。

    數(shù)組名a是這個(gè)“特殊的” 一維數(shù)組的數(shù)組名,也是該數(shù)組的首地址,同樣也代表該數(shù)組的第一個(gè)元素的地址,即第一行的首地址。對(duì)于第一行的首地址來說,它代表著首行一整行(其中包含4個(gè)元素),而不是指某個(gè)具體元素。所以,可以將第一行的首地址(a)稱為“行指針”。同理,a+0, a+1, a+2都是行指針。如圖所示。

2000



40]

?


2008

a[1]

a+2

?

2016

o[2]

1

3

5

7

9

11

13

15

17

19

21

23

    接下來,接著看二維數(shù)組中每一行的構(gòu)成,以首行為例,首行的元素分別是a[0][0], a[0][1], a[0][2], a[0][3]。因?yàn)榍懊嬉呀?jīng)說過,將第一行看成一個(gè)整體,a[0]就是這個(gè)數(shù)組的名稱,也是這個(gè)數(shù)組的首地址,也就是第一個(gè)元素a[0][0]的地址,所以可以寫成a[0]+0,它指向該行的第0列元素。這個(gè)指針每移動(dòng)一次,從第0列移動(dòng)到第1列。所以它是一個(gè)以數(shù)組元素為單位進(jìn)行控制的列指針。即a[0] 和a[0]+0都是指具體的元素,所以可將其稱之為“列指針”。

    這里就提出了在二維數(shù)組中的兩個(gè)重要概念:行指針和列指針。


繼續(xù)查找其他問題的答案?

相關(guān)視頻回答
回復(fù)(0)
返回頂部