最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

第 12 講:二維數(shù)組

2021-09-05 19:45 作者:SunnieShine  | 我要投稿

前文我們講到了一維數(shù)組的基本賦值方式和使用方式,但基本上我們可以看到,如果不是迫不得已的情況下,貌似一維數(shù)組已經(jīng)夠用了,不過為了教程的完整性,我們還是把一些其它情況,必須要更高維的數(shù)組的時(shí)候,它們的語法格式講一下。今天說的是二維數(shù)組。


二維數(shù)組的定義

當(dāng)我們?cè)谌藶槎x的情況下必須要使用兩個(gè)維度(行和列)的時(shí)候,就不得不使用二維數(shù)組來定義,比如一個(gè)表格。比如,我們需要一個(gè) 3 行 4 列的表格,它的定義方式是這樣的:

此時(shí),我們需要在定義語句里寫上兩個(gè)中括號(hào),一個(gè)表示行,一個(gè)表示列。這個(gè)地方的定義就表示一個(gè)二維數(shù)組是 3 行 4 列的。同時(shí)請(qǐng)你繼續(xù)注意的地方是,這里的中括號(hào)是定義語句里用的,所以它表示這個(gè)數(shù)組是多少行多少列的,而并非取出第 3 行第 4 列的數(shù)據(jù)。請(qǐng)你注意這一點(diǎn)。

你也可以理解為,table 變量一共有三個(gè)元素構(gòu)成,每一個(gè)元素都是一個(gè)需要 4 個(gè)元素的數(shù)組構(gòu)成的一維數(shù)組序列。所以這種理解方式更類似于“是一個(gè)一維數(shù)組,只是每一個(gè)數(shù)據(jù)的類型是一個(gè)一維數(shù)組,即數(shù)組的數(shù)組”。


初始化賦值

在二維數(shù)組里,初始化賦值就比較麻煩了。比如,一種簡(jiǎn)單的賦值方式是采取“數(shù)組的數(shù)組”的理解方式來賦值的,比如這樣:

即存放了三個(gè)元素,且每一個(gè)元素都是一個(gè)存四個(gè) int 類型元素的一維數(shù)組的二維數(shù)組。和前文一樣,二維數(shù)組當(dāng)完整賦值后,可以不寫出元素個(gè)數(shù)。但在二維數(shù)組里,只能省略行元素總數(shù) 3,而不可以省略列元素的總個(gè)數(shù) 4,即:

注意,這種設(shè)計(jì)是為了保證后續(xù)可以完整取出具體位置的元素而設(shè)計(jì)的。

數(shù)組在內(nèi)存里的表達(dá)實(shí)際上都是一個(gè)一維數(shù)組。顯然,內(nèi)存是一個(gè)長(zhǎng)條分布的形狀,所以不管多少維度的數(shù)組,哪怕后面用到的更高維度的數(shù)組,在內(nèi)存里都只可能表示成一個(gè)一維的數(shù)組形式,而一個(gè)二維數(shù)組需要列元素的個(gè)數(shù)這一個(gè)信息來正確分割整個(gè)數(shù)組,來保證二維數(shù)組的成立。如果你省略了列元素的個(gè)數(shù),我們就無法在正確的地方斷開這個(gè)數(shù)組,進(jìn)而得不到正確結(jié)果。比如,一個(gè)數(shù)組擁有 12 個(gè)元素(3 行 4 列),那么它在內(nèi)存里只能表示成這樣:

這個(gè)表達(dá)形式可以看到,我們?yōu)橐粋€(gè)一維數(shù)組進(jìn)行正確的定界是必須要列元素?cái)?shù)這個(gè)信息的。所以列元素總數(shù)這個(gè)數(shù)字是不可以省略的。

另外,二維數(shù)組也可以省略一些元素的賦值,此時(shí)將會(huì)默認(rèn)賦值 0:

這樣的話,整個(gè)數(shù)組的賦值的情況就是

當(dāng)然,內(nèi)部的大括號(hào)都可以被省略,但這個(gè)時(shí)候就不能省略中間的元素了:

和上面的邏輯一樣,這個(gè)賦值方式依然是滿足要求的,這樣就可以看出賦值語句里列元素?cái)?shù)這個(gè)信息的重要性了。

當(dāng)然,它也可以不完全賦值:

那么,從第十個(gè)元素開始(從 0 開始算就是第 9 號(hào)元素)都被賦值為 0。


二維數(shù)組存取數(shù)值

按照 C 語言的規(guī)定,數(shù)組的索引從 0 開始(所謂的索引,就是取值和存值的那個(gè)中括號(hào)里的數(shù)值,它可以表示這個(gè)數(shù)組的第幾個(gè)元素,這個(gè)數(shù)就是索引,有時(shí)候也稱為下標(biāo),Index),所以二維數(shù)組的兩個(gè)維度都是從 0 開始。

不過,二維數(shù)組需要兩個(gè)索引,一個(gè)行索引,一個(gè)列索引:

那么,要取出第 10 個(gè)元素 5,應(yīng)如何寫呢?

即第 2 行第 1 列的元素(注意,這個(gè)索引數(shù)值是從 0 開始,所以第 2 行就是我們?nèi)藶槔斫獾牡谌?,而?1 列就是我們理解的第二列),第三行第二列就是 5 了。

另外,初始化賦值可以這么寫:

這樣,整個(gè)數(shù)組的元素就被賦值為從 1 到 12 了,依然請(qǐng)你注意 for 循環(huán)的條件 i < 3j < 4。


第 12 講:二維數(shù)組的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
延寿县| 喀什市| 鹤峰县| 门头沟区| 云林县| 绥中县| 海淀区| 威宁| 巧家县| 治县。| 佛坪县| 逊克县| 晋州市| 香港| 沁源县| 南木林县| 安仁县| 房产| 当阳市| 临汾市| 封开县| 额敏县| 临清市| 广昌县| 通州市| 泾阳县| 大同市| 玉环县| 甘泉县| 巩留县| 海口市| 离岛区| 丹东市| 兰溪市| 凯里市| 凤冈县| 康乐县| 元谋县| 夹江县| 炉霍县| 莱西市|