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

1949idc 2年前 (2024-09-19) 阅读数 452 #编程语言

在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读取数组的每个元素,并将其存储在分配的内存中。最后,我们打印数组的元素并释放内存。

版权声明

本文内容由互联网用户自发贡献,该文观点仅代表作者本人
本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

© 2010 首途云安 & 厦门硕顿信息技术有限公司 & 闽ICP备11016866号  增值电信业务经营许可证:B1-20203020 地址:福建厦门思明区嘉禾路297号1806
高新技术企业
软件产品证书
计算机软件著作权
ISO认证
国家3A企业