成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

二維數(shù)組下標怎么理解 為什么我覺得C語言中二維數(shù)組沒用,明明兩個一維數(shù)組就能解決,為什么要有二維數(shù)組存在?

為什么我覺得C語言中二維數(shù)組沒用,明明兩個一維數(shù)組就能解決,為什么要有二維數(shù)組存在?我也來說說。C語言沒有專門的二維數(shù)組首先,C語言中,基本類型里有“數(shù)組”,也就是一維數(shù)組。而我們平時所說的二維數(shù)組是

為什么我覺得C語言中二維數(shù)組沒用,明明兩個一維數(shù)組就能解決,為什么要有二維數(shù)組存在?

我也來說說。


C語言沒有專門的二維數(shù)組

首先,C語言中,基本類型里有“數(shù)組”,也就是一維數(shù)組。而我們平時所說的二維數(shù)組是元素為數(shù)組的數(shù)組,其實是一種用一維數(shù)組對二維數(shù)組的模擬。


一維數(shù)組可以解決多維問題

從底層實現(xiàn)來說,無論是一維數(shù)組、二維數(shù)組還是多維數(shù)組,在內(nèi)存中都是以一維方式排列的。而多維數(shù)組也是用一維數(shù)組模擬實現(xiàn)的。從這一點來說,一維數(shù)組就能解決多維數(shù)組的問題。常見的模擬方式:

  • 將 二維數(shù)組a[m][n]表示為一維數(shù)組a[m*n]

  • 用a[y*n x]代替a[y][x]

  • 注意這里是用一個一維數(shù)組代替二維數(shù)組,而不是用兩個一維數(shù)組代替二維數(shù)組


多維數(shù)組有其存在的必要

從代碼清晰易讀的角度來說,二維數(shù)組、多維數(shù)組是有意義的。有許多數(shù)據(jù)是適合用二維數(shù)組或多維數(shù)組表示的。以適合的方式表示數(shù)據(jù),算法的編寫也會簡潔明了。典型的適合二維數(shù)組表示的數(shù)據(jù)如平面圖形、矩陣。用二維數(shù)組表示,程序清晰易讀;如果用一維數(shù)組表示,其可讀性就會低不少。


相對于匯編語言,C提供了一定的數(shù)據(jù)抽象,如數(shù)組、結(jié)構(gòu)體(struct)、聯(lián)合(union)。其實沒有這些抽象,程序照樣能編。但C語言的好處就在這里,它提供的抽象程度,非常適合系統(tǒng)級程序開發(fā)和維護。如果覺得C語言提供的抽象程度過高,也許匯編更適合您的項目,如果覺得C語言提供的抽象程度過低,那選擇就多了,從C ,Java到現(xiàn)在的各種新語言,都可以嘗試更換。