c语言如何实现动态二维数组
时间: 2023-03-20 20:01:53 浏览: 231
在C语言中,动态二维数组可以通过指针和动态内存分配来实现。
具体实现步骤如下:
1.声明一个指向指针的指针,作为动态二维数组的起始地址。
2.使用 malloc() 函数为数组分配内存空间。
3.使用双重循环来为数组中的每个元素进行赋值和访问。
下面是一个简单的例子,演示如何创建一个3行4列的动态二维数组:
```c
#include <stdio.h>
#include <stdlib.h>
int main()
{
int **arr;
int i, j;
int rows = 3, cols = 4;
// 为二维数组分配内存
arr = (int **) malloc(rows * sizeof(int *));
for (i = 0; i < rows; i++)
arr[i] = (int *) malloc(cols * sizeof(int));
// 对数组进行赋值
for (i = 0; i < rows; i++) {
for (j = 0; j < cols; j++) {
arr[i][j] = i * j;
}
}
// 访问数组中的元素
for (i = 0; i < rows; i++) {
for (j = 0; j < cols; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
// 释放内存
for (i = 0; i < rows; i++)
free(arr[i]);
free(arr);
return 0;
}
```
在此示例中,我们使用指针 arr 来指向指向指针的指针。我们首先使用 malloc() 函数为数组分配内存,然后使用循环对每个元素进行赋值和访问。最后,我们使用 free() 函数释放内存。
阅读全文