c语言

C语言int数组的动态分配与释放

小樊
91
2024-08-27 03:13:15
栏目: 编程语言

在C语言中,动态分配内存可以使用malloccallocrealloc等函数。这些函数都是在stdlib.h头文件中定义的。下面是一个关于如何动态分配和释放int数组的示例:

#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");
        return -1;
    }

    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;
}

在这个示例中,我们首先使用malloc函数动态分配了一个int类型的数组。数组的大小由用户输入的n决定。然后,我们使用scanf函数获取用户输入的n个整数,并将它们存储在动态分配的数组中。最后,我们使用free函数释放了动态分配的内存。

注意:在使用动态分配的内存时,务必确保在不再需要时正确地释放内存,以避免内存泄漏。

0
看了该问题的人还看了