Array 三維陣列 (C++)

更新 發佈閱讀 5 分鐘

三維陣列(Three-dimensional array)

基本方法

<方法一>
int array[2][2][2]={1,2,3,4,5,6,7,8};

<方法二>
int array[2][2][2]={{1,2,3,4},{5,6,7,8}};
raw-image
raw-image

Output

i=0,j=0,k=0
1
i=0,j=0,k=1
2
i=0,j=1,k=0
3
i=0,j=1,k=1
4
i=1,j=0,k=0
5
i=1,j=0,k=1
6
i=1,j=1,k=0
7
i=1,j=1,k=1
8


動態配置

STEP1、配置記憶體

int*** array = new int**[2];

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

array[i] = new int*[3];

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

array[i][j] = new int[4];

}

}
  • 第一步
raw-image
  • 第二步
raw-image
  • 第三步
raw-image


STEP2、初始化

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

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

for(int k=0; k<4; k++){

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

printf("i=%d,j=%d,k=%d = ",i,j,k);

std::cout<<array[i][j][k]<<std::endl;

}

}

}
raw-image


STEP3、釋放記憶體

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

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

delete[] array[i][j];

}

delete[] array[i];

}

delete[] array;
  • 第一步
raw-image
  • 第二步
raw-image
  • 第三步
raw-image


C++ Code

raw-image

Output

i=0,j=0,k=0 = 0
i=0,j=0,k=1 = 1
i=0,j=0,k=2 = 2
i=0,j=0,k=3 = 3
i=0,j=1,k=0 = 1
i=0,j=1,k=1 = 2
i=0,j=1,k=2 = 3
i=0,j=1,k=3 = 4
i=0,j=2,k=0 = 2
i=0,j=2,k=1 = 3
i=0,j=2,k=2 = 4
i=0,j=2,k=3 = 5
i=1,j=0,k=0 = 1
i=1,j=0,k=1 = 2
i=1,j=0,k=2 = 3
i=1,j=0,k=3 = 4
i=1,j=1,k=0 = 2
i=1,j=1,k=1 = 3
i=1,j=1,k=2 = 4
i=1,j=1,k=3 = 5
i=1,j=2,k=0 = 3
i=1,j=2,k=1 = 4
i=1,j=2,k=2 = 5
i=1,j=2,k=3 = 6



備註

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



參考資料

[1]. C++ 建立三維陣列的幾種方法 - IT閱讀 (itread01.com)

[2]. [C語言] - 指標及多維陣列 | Ivan’s Blog (ivan7645.github.io)



延伸閱讀

二維陣列轉一維陣列 (C++) @匿名李 - 探路客 部落格 (timelog.to)

留言
avatar-img
匿名李的沙龍
7會員
46內容數
這是新手寫給新手的學習程式語言基礎教學筆記,內容會以C++為主
匿名李的沙龍的其他內容
2022/08/25
Python安裝、外部程式包安裝(pip install xxx)、Hello World 【安裝Python】 Visual Studio Code-Download 進入vscode(延伸模組) 安裝中文介面(輸入ch搜尋) 安裝 搜尋命令提示字元 命令提示字元打python 創建檔案
Thumbnail
2022/08/25
Python安裝、外部程式包安裝(pip install xxx)、Hello World 【安裝Python】 Visual Studio Code-Download 進入vscode(延伸模組) 安裝中文介面(輸入ch搜尋) 安裝 搜尋命令提示字元 命令提示字元打python 創建檔案
Thumbnail
2022/08/19
Google、OneDrive、icloud 鑒於最近Google教育版雲端大開殺戒,來統計一下雲端費用。
Thumbnail
2022/08/19
Google、OneDrive、icloud 鑒於最近Google教育版雲端大開殺戒,來統計一下雲端費用。
Thumbnail
2022/04/01
Visual Studio Code Key Bindings
Thumbnail
2022/04/01
Visual Studio Code Key Bindings
Thumbnail
看更多
你可能也想看
Thumbnail
賽勒布倫尼科夫以流亡處境回望蘇聯電影導演帕拉贊諾夫的舞台作品,以十段寓言式殘篇,重新拼貼記憶、暴力與美學,並將審查、政治犯、戰爭陰影與「形式即政治」的劇場傳統推到台前。本文聚焦於《傳奇:帕拉贊諾夫的十段殘篇》的舞台美術、音樂與多重扮演策略,嘗試解析極權底下不可言說之事,將如何成為可被觀看的公共發聲。
Thumbnail
賽勒布倫尼科夫以流亡處境回望蘇聯電影導演帕拉贊諾夫的舞台作品,以十段寓言式殘篇,重新拼貼記憶、暴力與美學,並將審查、政治犯、戰爭陰影與「形式即政治」的劇場傳統推到台前。本文聚焦於《傳奇:帕拉贊諾夫的十段殘篇》的舞台美術、音樂與多重扮演策略,嘗試解析極權底下不可言說之事,將如何成為可被觀看的公共發聲。
Thumbnail
柏林劇團在 2026 北藝嚴選,再次帶來由布萊希特改編的經典劇目《三便士歌劇》(The Threepenny Opera),導演巴里・柯斯基以舞台結構與舞台調度,重新向「疏離」進行提問。本文將從觀眾慾望作為戲劇內核,藉由沉浸與疏離的辯證,解析此作如何再次照見觀眾自身的位置。
Thumbnail
柏林劇團在 2026 北藝嚴選,再次帶來由布萊希特改編的經典劇目《三便士歌劇》(The Threepenny Opera),導演巴里・柯斯基以舞台結構與舞台調度,重新向「疏離」進行提問。本文將從觀眾慾望作為戲劇內核,藉由沉浸與疏離的辯證,解析此作如何再次照見觀眾自身的位置。
Thumbnail
本文深入解析臺灣劇團「晃晃跨幅町」對易卜生經典劇作《海妲.蓋柏樂》的詮釋,從劇本歷史、聲響與舞臺設計,到演員的主體創作方法,探討此版本如何讓經典劇作在當代劇場語境下煥發新生,滿足現代觀眾的觀看慾望。
Thumbnail
本文深入解析臺灣劇團「晃晃跨幅町」對易卜生經典劇作《海妲.蓋柏樂》的詮釋,從劇本歷史、聲響與舞臺設計,到演員的主體創作方法,探討此版本如何讓經典劇作在當代劇場語境下煥發新生,滿足現代觀眾的觀看慾望。
Thumbnail
《轉轉生》為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,融合舞蹈、音樂、時尚和視覺藝術,透過身體、服裝與群舞結構,回應殖民歷史、城市經驗與祖靈記憶的交錯。本文將從服裝設計、身體語彙與「輪迴」的「誕生—死亡—重生」結構出發,分析《轉轉生》如何以當代目光,形塑去殖民視角的奈及利亞歷史。
Thumbnail
《轉轉生》為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,融合舞蹈、音樂、時尚和視覺藝術,透過身體、服裝與群舞結構,回應殖民歷史、城市經驗與祖靈記憶的交錯。本文將從服裝設計、身體語彙與「輪迴」的「誕生—死亡—重生」結構出發,分析《轉轉生》如何以當代目光,形塑去殖民視角的奈及利亞歷史。
Thumbnail
在使用陣列時一開始也是需要做宣告的,那麼這次說的內容是一維陣列,因此一維陣列宣告內容包括:資料型態、陣列名稱、以及陣列的大小。那麼我們就來看一下它的語法是如何的: 說明:等號左邊是做宣告,而右邊是做建立的動作。 一、初始值設定 那麼初始值要怎麼設定呢?這邊有幾種方法,用例子帶大家來看一看: 1.有給
Thumbnail
在使用陣列時一開始也是需要做宣告的,那麼這次說的內容是一維陣列,因此一維陣列宣告內容包括:資料型態、陣列名稱、以及陣列的大小。那麼我們就來看一下它的語法是如何的: 說明:等號左邊是做宣告,而右邊是做建立的動作。 一、初始值設定 那麼初始值要怎麼設定呢?這邊有幾種方法,用例子帶大家來看一看: 1.有給
Thumbnail
C# 陣列 – (C#教學) – Array為程式設計中最基本元素之一. 陣列就是用一個variable記下多個同類的值(記憶體中的位置), 以供日後所調用. 相關頁面: C# List – 學會List的5種基本應用方法 – 初始化, 加入值, 更新值, 刪除值, foreach迴圈
Thumbnail
C# 陣列 – (C#教學) – Array為程式設計中最基本元素之一. 陣列就是用一個variable記下多個同類的值(記憶體中的位置), 以供日後所調用. 相關頁面: C# List – 學會List的5種基本應用方法 – 初始化, 加入值, 更新值, 刪除值, foreach迴圈
Thumbnail
本篇文章將會講述陣列 (Array) 及 foreach 陳述式,陣列是寫程式中關於大筆資料的儲存方式,而 foreach 是處理大筆資料的處理方式之一。
Thumbnail
本篇文章將會講述陣列 (Array) 及 foreach 陳述式,陣列是寫程式中關於大筆資料的儲存方式,而 foreach 是處理大筆資料的處理方式之一。
Thumbnail
這篇我們來看一個在程式開發很常見也很常用的一個東西:Array 陣列 Array在所有的程式開發中還蠻常見的,也一定會出現,因為有很多的資料都會是一長串的,需要有一個物件來去做集中管理。
Thumbnail
這篇我們來看一個在程式開發很常見也很常用的一個東西:Array 陣列 Array在所有的程式開發中還蠻常見的,也一定會出現,因為有很多的資料都會是一長串的,需要有一個物件來去做集中管理。
Thumbnail
三維陣列(Three-dimensional array)   
Thumbnail
三維陣列(Three-dimensional array)   
Thumbnail
陣列(Array)、Vector的關係
Thumbnail
陣列(Array)、Vector的關係
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News