c++动态分配二维数组
时间: 2023-10-28 07:06:54 浏览: 117
C++二维数组的动态分配
5星 · 资源好评率100%
动态分配二维数组可以使用指针的指针来实现。下面是一个示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
int rows, cols;
printf("请输入二维数组的行数和列数:");
scanf("%d %d", &rows, &cols);
// 动态分配一维指针数组
int** arr = (int**)malloc(rows * sizeof(int*));
// 动态分配每一行的列数
for (int i = 0; i < rows; i++) {
arr[i] = (int*)malloc(cols * sizeof(int));
}
// 对二维数组赋值
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
arr[i][j] = i * cols + j;
}
}
// 打印二维数组
printf("二维数组的内容为:\n");
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
// 释放内存
for (int i = 0; i < rows; i++) {
free(arr[i]);
}
free(arr);
return 0;
}
```
阅读全文