C语言怎么动态分配数组空间

1127
2023/12/7 6:05:17
栏目: 云计算
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在C语言中,可以使用标准库函数malloc()来动态分配数组空间。malloc()函数的原型如下:

void * malloc(size_t size);

其中,size参数表示要分配的字节数。malloc()函数返回一个指向分配内存空间的指针,如果分配失败,则返回NULL

下面是一个示例代码,演示如何使用malloc()动态分配数组空间:

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

int main() {
    int n;
    int *arr;

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

    // 动态分配数组空间
    arr = (int *)malloc(n * sizeof(int));
    if (arr == NULL) {
        printf("内存分配失败");
        return 1;
    }

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

    // 打印数组元素
    printf("数组元素:");
    for (int i = 0; i < n; i++) {
        printf("%d ", arr[i]);
    }

    // 释放分配的内存
    free(arr);

    return 0;
}

在上面的代码中,首先通过malloc()函数动态分配了一个长度为n的整型数组arr的空间。然后,通过循环读取用户输入的数组元素,并打印数组元素。最后,通过free()函数释放了分配的内存空间。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: c语言delay函数能用于中断处理吗