在 C++ 中,定义二维数组有几种常见的方式。以下是几个示例:
定义:
int array[3][4];
这里,array
是一个 3 行 4 列的整数二维数组。
初始化:
int array[3][4] = {
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}
};
使用指针和动态内存分配:
定义:
int** array = new int*[3]; // 创建一个指向整型指针的指针,表示有 3 行
for (int i = 0; i < 3; ++i) {
array[i] = new int[4]; // 为每一行分配 4 列的内存
}
初始化:
array[0][0] = 1;
array[0][1] = 2;
// 继续初始化其他元素
释放内存:
for (int i = 0; i < 3; ++i) {
delete[] array[i]; // 释放每一行的内存
}
delete[] array; // 释放指向整型指针的内存
std::vector
定义:
#include
std::vector> array(3, std::vector(4));
初始化:
array[0][0] = 1;
array[0][1] = 2;
// 继续初始化其他元素
std::vector
提供了更灵活和自动管理内存的方式,是动态数组的一个优雅替代方案。