C++中二维数组的初始化
时间: 2024-10-21 15:07:56 浏览: 14
在C++中,二维数组是一种存储数据的多维容器,它可以看作是一系列的一维数组。二维数组的初始化有多种方式,这里列举几种常见的:
1. **静态初始化**:
```cpp
int arr[3][2] = {
{1, 2}, // 第一行
{3, 4}, // 第二行
{5, 6} // 第三行
};
```
这种方式直接为每个元素赋值。
2. **连续初始化**:
```cpp
int arr[][2] = {
{1, 2},
{3, 4},
{5, 6}
};
```
C++允许这种形式,编译器会自动推断数组大小。但请注意,这种方法在某些编译器上可能不可行,尤其是在模板、泛型或其他复杂情况中。
3. **大小未知但已知类型的动态初始化**:
```cpp
int rows = 3, cols = 2;
int (*arr)[cols] = new int[rows][cols];
for (int i = 0; i < rows; ++i) {
for (int j = 0; j < cols; ++j) {
arr[i][j] = i * cols + j;
}
}
```
这里通过指针和动态内存分配创建了二维数组。
4. **使用C风格初始化**:
```cpp
int arr[3][2] = {{1, 2}, {3, 4}, {5, 6}};
```
或者
```cpp
int arr[3][2] = {1, 2, 3, 4, 5, 6};
```
注意,这可能会导致未初始化的数据,因为元素之间不会自动填充零。
记得在使用完二维数组后,记得释放动态分配的内存,防止内存泄漏。
阅读全文