用C语言实现动态数组
动态数组是一种可以根据需要自动扩展大小的数组。在C语言中,使用指针和内存分配函数可以很容易地实现动态数组。
具体实现步骤如下:
1.声明一个指针变量,用于指向动态数组的起始地址。
2.通过内存分配函数malloc动态申请一块连续的内存空间,并将起始地址赋值给指针变量。
3.利用指针变量对动态数组进行操作,读写数据或者修改数组大小。
4.当不需要动态数组时,使用内存释放函数free释放内存空间。
下面是一个简单的示例代码,演示如何实现动态数组:
#include <stdio.h>
#include <stdlib.h>
int main() {
int *arr; // 声明整型指针变量arr
int n, i;
printf("请输入数组大小:");
scanf("%d", &n);
arr = (int *)malloc(n * sizeof(int)); // 动态分配n个int类型大小的连续内存空间
if(arr == NULL) { // 内存分配失败
printf("内存分配失败!\n");
exit(1);
}
for(i = 0; i < n; i++) {
printf("请输入第%d个数&