C++ 中二维数组的初始化
时间: 2024-10-08 10:00:58 浏览: 38
将C++中二维数组转换为OpenCV中灰度图.zip
在C++中,二维数组是一种用于存储表格数据的数据结构,它由多个一维数组构成,每个一维数组代表一行。二维数组的初始化有多种方式:
1. **显式指定大小**:
```cpp
int arr[3][4] = {
{1, 2, 3, 4}, // 第一行
{5, 6, 7, 8}, // 第二行
{9, 10, 11, 12} // 第三行
};
```
这里直接给出了数组的所有元素。
2. **动态分配内存**:
```cpp
int rows = 3;
int cols = 4;
int** arr = new int*[rows];
for (int i = 0; i < rows; i++) {
arr[i] = new int[cols]; // 动态为每一行分配空间
// 初始化元素...
}
// 使用完后记得释放内存
for (int i = 0; i < rows; i++) {
delete[] arr[i];
}
delete[] arr;
```
3. **使用C风格初始化**:
```cpp
int arr[3][4] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};
```
这种方式可以逐行初始化。
4. **使用vector嵌套**:
如果需要,也可以使用`std::vector`创建动态二维数组:
```cpp
std::vector<std::vector<int>> arr(3);
for (size_t i = 0; i < 3; i++) {
arr[i].resize(4); // 动态分配每行元素
for (size_t j = 0; j < 4; j++) {
arr[i][j] = i * 4 + j; // 初始化元素
}
}
```
阅读全文