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