c语言

c语言怎么实现动态数组

小亿
115
2023-12-07 07:35:12
栏目: 编程语言

在C语言中,可以使用指针和malloc函数来实现动态数组。

动态数组可以根据需要在运行时分配内存空间,并根据需求调整大小。

以下是一个简单的示例,演示如何实现动态数组:

#include <stdio.h>
#include <stdlib.h>

int main() {
    int *arr;  // 定义一个指向整型的指针

    int size;
    printf("请输入数组的大小: ");
    scanf("%d", &size);

    // 分配内存空间
    arr = (int*)malloc(size * sizeof(int));

    // 检查内存分配是否成功
    if (arr == NULL) {
        printf("内存分配失败\n");
        return 1;
    }

    // 输入数组元素
    printf("请输入%d个整数: ", size);
    for (int i = 0; i < size; i++) {
        scanf("%d", &arr[i]);
    }

    // 输出数组元素
    printf("数组元素为: ");
    for (int i = 0; i < size; i++) {
        printf("%d ", arr[i]);
    }
    printf("\n");

    // 释放内存
    free(arr);

    return 0;
}

在上述示例中,首先通过malloc函数分配了size个整型元素的内存空间。然后,用户输入了数组元素,并将其存储在动态数组中。最后,使用free函数释放了该内存空间。

请注意,在使用完动态数组后,一定要记得释放分配的内存空间,以免造成内存泄漏。

0
看了该问题的人还看了