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

avatar
作者
猴君
阅读量:2

在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()函数释放了分配的内存空间。

广告一刻

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