使用malloc函数对二维数组进行动态内存分配
时间: 2023-07-08 07:54:33 浏览: 256
动态分配结构体内存(malloc)
是的,可以使用malloc函数对二维数组进行动态内存分配。一种常见的方法是先分配一个指向指针的数组,然后在每个指针位置上分配另一个数组。以下是一个示例代码片段:
```
int** array;
int rows = 3;
int cols = 4;
// allocate array of pointers
array = (int**)malloc(rows * sizeof(int*));
// allocate each row
for (int i = 0; i < rows; i++) {
array[i] = (int*)malloc(cols * sizeof(int));
}
// use the array
array[0][0] = 1;
array[1][2] = 5;
// free the memory
for (int i = 0; i < rows; i++) {
free(array[i]);
}
free(array);
```
这个例子中,我们首先分配一个指向指针的数组 `array`,然后在每个指针位置上分配了一个长度为 `cols` 的整数数组。最后,我们使用数组来存储数据,并在最后释放动态分配的内存。
阅读全文