C++ string 二维动态数组
时间: 2023-08-19 09:07:24 浏览: 283
在C++中,可以使用动态数组来创建二维字符串数组。下面是一个示例代码:
```cpp
#include <iostream>
#include <string>
int main() {
int rows, cols;
std::cout << "Enter the number of rows: ";
std::cin >> rows;
std::cout << "Enter the number of columns: ";
std::cin >> cols;
// 动态分配内存并创建二维字符串数组
std::string** dynamicArray = new std::string*[rows];
for (int i = 0; i < rows; i++) {
dynamicArray[i] = new std::string[cols];
}
// 通过循环给二维数组赋值
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
std::cout << "Enter element [" << i << "][" << j << "]: ";
std::cin >> dynamicArray[i][j];
}
}
// 打印二维数组中的字符串
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
std::cout << dynamicArray[i][j] << " ";
}
std::cout << std::endl;
}
// 释放动态分配的内存
for (int i = 0; i < rows; i++) {
delete[] dynamicArray[i];
}
delete[] dynamicArray;
return 0;
}
```
在上面的示例中,我们首先从用户处获取二维数组的行数和列数。然后,我们使用`new`操作符动态分配内存,并创建一个大小为`rows`行`cols`列的二维字符串数组。接下来,通过嵌套循环,我们让用户输入每个元素的值。最后,我们打印二维数组中的字符串。
请注意,在使用动态数组后,必须使用嵌套的`delete[]`操作符来释放内存,以避免内存泄漏。
希望这对你有帮助!如果还有其他问题,请随时提问。
阅读全文