一、靜態初始化
靜態初始化是指在定義數組的同時對數組進行初始化,這種方式的數組大小是固定的,且只能在定義的時候進行初始化,不能在程序運行時修改數組的大小。靜態初始化的語法如下:
int a[2][3] = { {1, 2, 3}, {4, 5, 6} };
其中,數組的大小為2×3,花括號中的元素按照行列順序逐個初始化。這種初始化方式雖然繁瑣,但是可以保證數組的每個元素都被正確地初始化。
二、動態初始化
動態初始化是指在程序運行時對數組進行初始化,這種方式可以根據程序運行時的需要動態地修改數組的大小。動態初始化的語法如下:
int m, n; cin >> m >> n; int** b = new int*[m]; for (int i = 0; i < m; i++) { b[i] = new int[n]; } for (int i = 0; i < m; i++) { for (int j = 0; j < n; j++) { b[i][j] = i * n + j; } }
其中,先通過new關鍵字分配二維數組的行空間,然後在循環中為每一行分配列空間,最後通過循環對數組中的元素進行初始化。注意,動態初始化需要手動釋放內存。
三、使用vector進行初始化
使用vector進行初始化可以方便地自由調整數組的大小,代碼如下:
#include using namespace std; int m, n; cin >> m >> n; vector<vector> c(m, vector(n)); for (int i = 0; i < m; i++) { for (int j = 0; j < n; j++) { c[i][j] = i * n + j; } }
其中,vector<vector>表示一個二維vector,m表示行數,n表示列數。在定義時,可以指定初始大小,這裡初始化為m行n列。然後同樣通過循環對數組中的元素進行初始化。
四、結語
以上就是C++二維數組的幾種初始化方法,每種方法都有其適用的場景,具體應該根據實際情況選擇合適的方式。值得注意的是,在使用動態初始化時要注意內存泄漏,及時釋放內存。
原創文章,作者:SGBG,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/148348.html