問(wèn)答小能手
解答各類資格考試問(wèn)題
發(fā)布時(shí)間: 2024-07-27 00:16:42
二維數(shù)組的初始化: (1) 分行給二維數(shù)組賦初值。
如int a={{1,2,3,4},{5,6,7,8},{9,10,11,12}};這種賦初值方法比較直觀,把第1個(gè)花括弧內(nèi)的數(shù)據(jù)給第1行的元素,第2個(gè)花括弧內(nèi)的數(shù)據(jù)賦給第2行的元素……即按行賦初值。
(2) 可以將所有數(shù)據(jù)寫在一個(gè)花括弧內(nèi),按數(shù)組排列的順序?qū)Ω髟刭x初值。如:int a={1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,12};效果與前相同。但以第1種方法為好,一行對(duì)一行,界限清楚。用第2種方法如果數(shù)據(jù)多,寫成一大片,容易遺漏,也不易檢查。
(3) 可以對(duì)部分元素賦初值。int a={{1},{5},{9}};它的作用是只對(duì)各行第1列的元素賦初值,其余元素值自動(dòng)為0。賦初值后數(shù)組各元素為1 0 0 05 0 0 09 0 0 0也可以對(duì)各行中的某一元素賦初值:int a={{1},{0,6},{0,0,11}};初始化后的數(shù)組元素如下:
1、 0 0 00 6 0 00 0 11 0這種方法對(duì)非0元素少時(shí)比較方便,不必將所有的0都寫出來(lái),只需輸入少量數(shù)據(jù)。也可以只對(duì)某幾行元素賦初值:int a={{1},{5,6}}; 數(shù)組元素為1 0 0 05 6 0 00 0 0 0第3行不賦初值。也可以對(duì)第2行不賦初值:int a={{1},{},{9}};
(4) 如果對(duì)全部元素都賦初值(即提供全部初始數(shù)據(jù)),則定義數(shù)組時(shí)對(duì)第一維的長(zhǎng)度可以不指定,但第二維的長(zhǎng)度不能省。如:int a={1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};與下面的定義等價(jià):int a[]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};系統(tǒng)會(huì)根據(jù)數(shù)據(jù)總個(gè)數(shù)分配存儲(chǔ)空間,一共12個(gè)數(shù)據(jù),每行4列,當(dāng)然可確定為3行。在定義時(shí)也可以只對(duì)部分元素賦初值而省略第一維的長(zhǎng)度,但應(yīng)分行賦初值。如:int a[]={{0,0,3},{},{0,10}};這樣的寫法,能通知編譯系統(tǒng);數(shù)組共有3行。數(shù)組各元素為0 0 3 00 0 0 00 100 0從本節(jié)的介紹中可以看到:c語(yǔ)言在定義數(shù)組和表示數(shù)組元素時(shí)采用a[][]這種兩個(gè)方括弧的方式,對(duì)數(shù)組初始化時(shí)十分有用,它使概念清楚,使用方便,不易出錯(cuò)。練一個(gè): 將一個(gè)二維數(shù)組行和列元素互換,存到另一個(gè)二維數(shù)組中。例如:┌1 2 3┐ ┌1 4┐a =│ │ b= │2 5│└4 5 6┘ └3 6┘