阅读量:1
在C语言中,定义一个二维动态数组可以使用指针的指针来实现。下面是一个示例代码:
#include <stdio.h> #include <stdlib.h> int main() { int rows, cols; printf("请输入二维数组的行数和列数:\n"); scanf("%d", &rows); scanf("%d", &cols); // 动态分配内存空间 int **arr = (int **)malloc(rows * sizeof(int *)); for (int i = 0; i < rows; i++) { arr[i] = (int *)malloc(cols * sizeof(int)); } // 输入数组元素 printf("请输入二维数组的元素:\n"); for (int i = 0; i < rows; i++) { for (int j = 0; j < cols; j++) { scanf("%d", &arr[i][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; }
在上面的代码中,我们首先使用malloc
函数动态分配了一块内存空间用于存储二维数组。然后,使用两个for循环来依次输入二维数组的元素。最后,使用两个for循环将二维数组的元素输出到屏幕上。最后,使用free
函数来释放动态分配的内存空间。