C藝術篇 1-2 二維數組
阿新 • • 發佈:2018-11-18
第一個元素 http 分享 默認 info 我們 src ron size
接下來討論二維數組。若有一個二維數組如下:
int x[3][2] ={10,20,30,40,50,60};
此數組共有六個元素(3行,2列),每一元素的地址為&x[0][0]、&x[0][1]、&x[1][0]、&x[1][1]、&x[2][0]、&x[2][1]。
從輸出的結果得知x[0]等於&x[0][0],x[1]等於&x[1][0]。
由上面的例子 我們知道了一個二維數組x 當用一維數組表示的時候 ,x裏面的數字表示的是行,列默認為0。
集合1-1裏面說的數組名就是地址,所以可以表示 x等於&x[0][0],x+1等於&x[1][0]。
雖然x[0]和x皆表示&x[0][0],若兩者加1,結果是否一樣呢?
請看下面的例子
從輸出的結果得知,雖然x與x[0]都是等於&x[0][0],但各加1個單位是不一樣的,如x+1是等於&x[1][0],它是第二行第一個元素的地址
而x[0]+1等於&x[0][1],它是第一行第二列元素的地址。
結合剛剛那句話
得出結論:二維數組表示時: x可以表示為地址&x[0][0],x[0] == x[0][0],x[1] == x[1][0],因為當用一維數組表示二維數組時,只表示行,列默認為0。
當進行運算符運算時:x+1等於二維數組行+1,即&x[1][0]。x[0]+1等於二維數組列+1,即x[0][1]。
C藝術篇 1-2 二維數組