C语言如何创建一个动态数组
时间: 2024-05-06 13:17:47 浏览: 8
在C语言中,我们可以使用指针和内存动态分配函数来创建动态数组。下面是一个示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
int n;
printf("Enter the size of the array: ");
scanf("%d", &n);
int *arr = (int *) malloc(n * sizeof(int)); // 分配内存空间
if(arr == NULL) { // 如果内存分配失败
printf("Error: Memory allocation failed!");
exit(1);
}
printf("Enter %d elements in the array:\n", n);
for(int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
printf("The elements in the array are:\n");
for(int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
free(arr); // 释放内存空间
return 0;
}
```
在上面的代码中,我们首先从用户获取数组的大小,然后使用malloc函数动态地分配内存空间。如果内存分配失败,我们将打印错误消息并退出程序。然后,我们从用户获取数组的元素,并在最后打印数组中的所有元素。最后,我们使用free函数释放先前分配的内存空间。
请注意,使用动态数组时,务必在使用完后释放内存空间,否则会导致内存泄漏问题。