c语言动态创建二维数组怎么实现

avatar
作者
筋斗云
阅读量:0

在C语言中,可以使用指针和动态内存分配来动态创建二维数组。以下是一个示例代码:

#include <stdio.h> #include <stdlib.h>  int main() {     int rows, cols;          printf("Enter number of rows: ");     scanf("%d", &rows);          printf("Enter number of columns: ");     scanf("%d", &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;         }     }          // 打印数组     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函数动态分配内存来创建一个二维数组。接着初始化数组,并打印数组的值。最后,释放分配的内存。

需要注意的是,在动态创建二维数组时,需要手动释放分配的内存,以避免内存泄漏。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!