在C语言中,可以使用指针和malloc函数来实现动态数组。
动态数组可以根据需要在运行时分配内存空间,并根据需求调整大小。
以下是一个简单的示例,演示如何实现动态数组:
#include <stdio.h>
#include <stdlib.h>
int main() {
int *arr; // 定义一个指向整型的指针
int size;
printf("请输入数组的大小: ");
scanf("%d", &size);
// 分配内存空间
arr = (int*)malloc(size * sizeof(int));
// 检查内存分配是否成功
if (arr == NULL) {
printf("内存分配失败\n");
return 1;
}
// 输入数组元素
printf("请输入%d个整数: ", size);
for (int i = 0; i < size; i++) {
scanf("%d", &arr[i]);
}
// 输出数组元素
printf("数组元素为: ");
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
printf("\n");
// 释放内存
free(arr);
return 0;
}
在上述示例中,首先通过malloc函数分配了size个整型元素的内存空间。然后,用户输入了数组元素,并将其存储在动态数组中。最后,使用free函数释放了该内存空间。
请注意,在使用完动态数组后,一定要记得释放分配的内存空间,以免造成内存泄漏。