1 1

分享

Array 二維陣列 (C++)

二維陣列(Two-dimensional array)

基本方法

  

int array[2][2]={{1,2},{3,4}};

二維 陣列 動態記憶體配置 c語言 程式語言

二維陣列基本方法

Output
  

array[0][0] = 1

array[1][0] = 3


動態配置

STEP1、配置記憶體
  

int** array = new int*[2];  //第一步

for(int i=0; i<2; i++){

    array[i] = new int[3];  //第二步

}

  • 第一步
二維 陣列 動態記憶體配置 c語言 程式語言

配置記憶體

  • 第二步
二維 陣列 動態記憶體配置 c語言 程式語言

配置記憶體

STEP2、初始化
  

for(int i=0; i<2; i++){

    for(int j=0; j<3; j++){

        array[i][j] = i+j;

    }

}

陣列初始化
  

[ array[0][0] = 0,  array[0][1] = 1,  array[0][2] = 2

  array[1][0] = 1,  array[1][1] = 2,  array[1][2] = 3 ]

二維 陣列 動態記憶體配置 c語言 程式語言

2x3陣列

STEP3、釋放記憶體
  

for(int i=0; i<2; i++){

    delete[] array[i]; //第一步

}

delete[] array;  //第二步

陣列釋放記憶體
  • 第一步
二維 陣列 動態記憶體配置 c語言 程式語言

釋放記憶體

  • 第二步
二維 陣列 動態記憶體配置 c語言 程式語言

釋放記憶體


C++ Code

二維 陣列 動態記憶體配置 c語言 程式語言

二維陣列動態記憶體配置

Output

  

array[0][0] = 0

array[1][2] = 3


備註

關於圖解記憶體配置以及釋放的部分,實際上可能不是依照圖解的方式建立以及釋放,但筆者覺得方便思考記憶,如果有詳細的配置記憶體流程可能還得請各位讀者與前輩分享指教。

參考資料

[1]. 如何在 C++ 中使用 new 宣告 2D 陣列 | D棧 - Delft Stack
[2]. 二維(多維)陣列 (openhome.cc)

延伸閱讀

Array 三維陣列 (C++) @匿名李 - 探路客 部落格 (timelog.to)
#二維  #陣列  #動態記憶體配置  #c語言  #程式語言 
分類:學習

文章有錯誤的地方還請留言指正,謝謝各位。(目前C++新手教學第二章內容已完結)。建議或意見可私訊:https://reurl.cc/ze7L9k

評論
上一篇
  • Array 一維陣列 (C++)
  • 下一篇
  • Array 三維陣列 (C++)
  • 更多文章
    載入中... 沒有更多了