回覆列表
  • 1 # TonyDeng

    C語言是沒有二維陣列的,它只有陣列的陣列,可以不斷巢狀,但那不是多維陣列。所以你的感覺對,處理的方式就是一維陣列。

    不要以為x[i][j]這樣形式的陣列是二維陣列,不是,在C語言中不是,這只是i個一維陣列[j],真的是兩個一維陣列。其他語言有多維陣列,C語言沒有。

  • 2 # 重慶葉宏

    學習C語言,這樣瞎悟能學好嗎。

    多維陣列是在連續的記憶體中分配的,這是一個語言的基本設施。你用多個一維陣列代替何必呢。若需要三維陣列你仍用一維陣列代替,你煩不煩麼。

    現在新版本C語言標準用變長多維陣列,用處大。處理矩陣、行列式方便。

  • 3 # 豬fans

    怎麼沒用?那我問你,一個學校有10個班級,每個班級有40名同學,怎麼把這堆資料暫存在記憶體中?不就是二維陣列嗎?

    樓上說二維陣列是兩個1維陣列的結論。我覺得他可能沒用過二維陣列寫案例,兩個下標為10的char佔用位元組為20。而char[10][10]佔用是100個位元組。根本不是同一個東西

  • 4 # studee

    二維陣列可以使用矩陣論相關知識,當處理的數字量較小的時候,一維陣列和二維陣列沒有什麼區別,但是當這個數字量很大,比如說10萬甚至是幾十萬的時候,那麼利用矩陣論的相關知識可以提高你的計算效率。

  • 5 # Ren

    記憶體還是那片記憶體,陣列還是那個陣列,就是怎麼索引的問題,一維索引也能解決問題,只要偏移量計算對了就行,二維陣列或者多維陣列更像是個語法糖,它幫你計算索引偏移量,看起來舒服一些,然而和一維陣列一樣,也不幫你檢查越界,也是沒誰了[捂臉]。

  • 6 # 為啥真話沒人信

    一個a[m][n]的二維陣列具有m x n個儲存空間

    而兩個一維陣列a[m],b[n]只有m + n個儲存空間,怎麼可以替代二維陣列?二維陣列只是C語言對資料的數學表達形式,實際儲存空間還是一維的,但二維陣列在使用時,編譯器可以幫助我們完成下標到儲存空間的位置的計算,便於使用。當然我們完全可以用一個一維陣列代表N維陣列,但下標位置就要我們自己手動計算了。

  • 7 # 芝麻小龍

    你還是轉行吧。這個問題太基本了。上過初中的人都知道二維陣列的元素數量是兩個維度的乘積,兩個一維陣列是兩根線。二維陣列比一維陣列,元素多很多。根本就不是一回事。你學程式設計真的沒有希望,趕快轉行。我就夠笨的了,你比我還笨。

  • 8 # 智慧情感里奧

    到圖形處理這類演算法的時候,就會明白更多了。

    我們常用的矩陣要存在二維數組裡。

    能想到的好處有兩點:

    儲存空間的分配

    這樣可以獲得連續儲存的空間。

    這樣就能提高運算效率。

    尤其在大規模或者頻繁資料處理的時候。

    定址、做交換、讀寫儲存,都會有效率提高。

    指標的移動,使用二維陣列也更方便。

    做為複雜演算法的引數

    做影象處理,用到矩陣,向量運算等複雜邏輯的函式時,需要這種便利的符號作為輸入引數。

    圖形處理的時候,基本就是矩陣運算,旋轉、縮放、平移動,這三個基本運算用到矩陣。

    把這些基本功能封裝成函式,這些函式的輸入引數,就是二維陣列的入口指標。

    所以還是有很多用處的,離不開二維陣列

    演算法是抽象的,越抽象,越通用。

  • 9 # 沙漠海179470315

    要你這麼說

    陣列也沒用了

    一萬個變數就能解決的事

    實在不行,就十萬個變數好了^0^~[呲牙]

  • 10 # superjelly

    你也太逗了,兩個一維陣列能代替二維陣列?你連C語言的入門都沒理解。打個最簡單的比方: 一個班有30名學生,每個學生有,語文,數學,英語,物理,化學五科成績,現在把所有學生成績輸入電腦,用二維陣列是 int[30][5] ,你用你的兩個一維錄進去試試?

  • 11 # 程式碼搬家

    這樣說就容易理解了,二個一維陣列等於兩條線,是在兩條線上分別存m和n個數據。

    一個二維陣列則是一個面,即m個線,毎條線上n個數據,理論上每條線資料是相等的(包括空值),可以精確定位,如第5條線上的第7個數據。

  • 12 # 使用者7888976079376

    舉個例子,石器時代用石斧砍樹,古代用鐵斧砍樹,現代用電鋸砍樹,都是砍樹,用石頭也能解決為什麼要用電鋸呢,C語言也是一樣的,語言只是個工具,能快速用它做出活來才是王道,二維陣列的存在就是為了提升工作效率的,如果你能想出更好的解決辦法那自然更好。

  • 13 # 夏雪來賓

    二維陣列有沒有必要?放一放再說。

    兩個一維?不就是二維嗎?

    只是用二維陣列表達更簡潔。

    你用“C”編過實用程式嗎?

  • 14 # 霹靂263521714453

    當然不一樣 邏輯概念更好的表示 演算法的閱讀上更好的理解 你一維是都能實現 那在邏輯理解上能一樣嗎? 如果只是實現就可以了 還要高階語言幹啥用 都用匯編甚至機器語言本身就完了

  • 15 # 繁星落石

    多維陣列表示的是同一個主體不同維度上的關係,當然分解開來都是一維陣列,但是如果全部使用一維陣列來表示這個主體,那還需要對應的維度資訊,單純的陣列肯定是不夠的。

  • 16 # gzluke

    我也覺得C語言沒用,明明可以用匯編語言解決的,為什麼要用C語言?

    你的論點和上面這句話一樣!

    所以使用二維陣列會更清晰明瞭地展現資料結構,比起你繞著彎用一位陣列來模擬二維陣列,更容易讓別人清楚你的程式設計思路。

  • 17 # Bingqimao

    二維陣列沒用?感覺這是還在上學的學生提的問題,簡單說個例子,假如遊戲中怪物的行走路線是[[x,y], [x,y],[x,y]......],陣列長度是未知的,不同怪物的行走長度肯定也是不一樣的,你滑鼠點選地面,人物行走,A*演算法計算出的二維陣列的長度,每次肯定也是不一樣的。這種例子多了去了,你兩個一維陣列能解決這種長度未知的問題,開玩笑吧?

  • 18 # 來看看哈哈哈哈哈哈哈

    已知長寬為1-100的整數,用查表法求面積。用一維10000個數據可以,二維100*100可以,沒聽說用兩個100的一維可以搞定呀?

  • 19 # 骷狼望月

    兩條線和一個面哪個資料多?哪個好用?麵包含很多線,但線代替不了面!只能是面對問題的時候哪種更合適,而不是哪種沒用!

  • 20 # 西安打工娃

    你覺得沒用是因為你還沒有用到。

    舉個例子一張黑白色圖片,你可以用一個二維陣列a[m][n]表示;彩色照片你可以用三維陣列表示a[3][m][n],第一個緯度3個變數代表rgb值。

  • 中秋節和大豐收的關聯?
  • 中醫診斷疾病的順序是什麼?