前面已經介紹過如何動態宣告一個二維陣列 這邊來分享三維陣列的宣告,以及使用Function來傳遞
宣告一個三維陣列的概念跟二維陣列很類似
int ***create_3D_Array(int a, int b, int c) { int ***A = new int**[a]; for (int i = 0 ; i < a ; i++) { A[i] = new int*[b]; for (int j = 0 ; j < b ; j++) { A[i][j] = new int[c]; } } for (int i = 0 ; i < a ; i++) for (int j = 0 ; j < b ; j++) for (int k = 0 ; k < c ; k++) A[i][j][k] = 0; return A; }
宣告完這個function之後 像下面這樣呼叫之後就可以動態產生一個三維陣列 是不是很方便呢XD
#include <iostream> int main() { int a,b,c; std::cin << a << b << c; int ***arr = create_3D_Array(a,b,c); return 0; }
而刪除在這邊也用function來當例子
void delete_3D_Array(int ***arr, int a, int b, int c) { for (int i = 0 ; i < a ; i++) { for (int j = 0 ; j < b ; j++) { delete [] arr[i][j]; } delete[] arr[i]; } delete [] arr; std::cout << "Delete arr successfully" << std::endl; }
全站熱搜
留言列表