在C语言中如何用scanf实现数组的动态分配

avatar
作者
猴君
阅读量:0

在C语言中,我们可以使用mallocrealloc函数来实现数组的动态分配。首先,需要包含stdlib.h头文件来使用这些函数。下面是一个示例程序,演示了如何使用scanfmalloc实现数组的动态分配:

#include<stdio.h> #include <stdlib.h>  int main() {     int n, i;     int *arr;      printf("请输入数组长度: ");     scanf("%d", &n);      // 使用 malloc 为数组分配内存     arr = (int *)malloc(n * sizeof(int));     if (arr == NULL) {         printf("内存分配失败!\n");         exit(0);     }      // 使用 scanf 读取数组元素     printf("请输入%d个整数:\n", n);     for (i = 0; i < n; i++) {         scanf("%d", &arr[i]);     }      // 打印数组元素     printf("输入的数组为:\n");     for (i = 0; i < n; i++) {         printf("%d ", arr[i]);     }     printf("\n");      // 释放内存     free(arr);      return 0; } 

在这个示例中,我们首先使用scanf读取数组的长度n,然后使用malloc为数组分配内存。接下来,我们使用scanf读取数组的每个元素,并将其存储在分配的内存中。最后,我们打印数组的元素并释放内存。

广告一刻

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