c语言如何动态创建数组
时间: 2023-11-04 20:01:47 浏览: 403
在C语言中,我们可以使用动态内存分配函数malloc来创建动态数组。动态数组的大小可以在运行时确定,而不是在编译时确定。下面是创建动态数组的一般步骤:
1. 使用malloc函数分配内存空间。malloc函数的声明如下:
`void* malloc(size_t size);`
这里的size是需要分配的内存大小,以字节为单位。
2. 强制类型转换为所需的数组类型。例如,如果我们想要创建一个整数类型的动态数组,可以使用如下语法:
`int* array = (int*)malloc(size * sizeof(int));`
这里的size是数组的大小。
3. 使用动态数组进行操作。
4. 使用free函数释放内存空间。释放内存空间可以防止内存泄漏。free函数的声明如下:
`void free(void* ptr);`
这里的ptr是指向先前分配的内存区域的指针。
下面是一个示例代码,展示了如何动态创建一个整数类型的数组:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
int size;
printf("Enter the size of the array: ");
scanf("%d", &size);
int* array = (int*)malloc(size * sizeof(int));
if (array == NULL) {
printf("Memory allocation failed.\n");
return -1;
}
printf("Enter elements of the array:\n");
for (int i = 0; i < size; i++) {
scanf("%d", &array[i]);
}
printf("Elements of the array are: ");
for (int i = 0; i < size; i++) {
printf("%d ", array[i]);
}
printf("\n");
free(array);
return 0;
}
```
阅读全文