阅读量:1
在C语言中,要使用动态数组,需要使用指针和动态内存分配的函数来实现。下面是建立和使用动态数组的步骤:
声明一个指针变量来存储动态数组的地址:例如,
int* arr;
使用动态内存分配的函数
malloc()
来为数组分配内存空间,并将返回的指针赋给指针变量:例如,arr = (int*)malloc(n * sizeof(int));
这里的n
是数组的大小,sizeof(int)
是每个元素的大小。使用指针来访问和操作数组的元素。例如,
arr[0] = 10;
可以给数组的第一个元素赋值为10。使用完数组后,记得使用
free()
函数释放内存空间,以防止内存泄漏:例如,free(arr);
下面是一个完整的示例代码:
#include <stdio.h> #include <stdlib.h> int main() { int n, i; int* arr; printf("请输入数组的大小:"); scanf("%d", &n); // 分配内存空间 arr = (int*)malloc(n * sizeof(int)); // 给数组赋值 for(i = 0; i < n; i++) { arr[i] = i + 1; } // 输出数组元素 printf("数组元素为:"); for(i = 0; i < n; i++) { printf("%d ", arr[i]); } // 释放内存空间 free(arr); return 0; }
以上代码会先从用户输入数组的大小,然后动态分配内存空间,给数组赋值,然后输出数组的元素,最后释放内存空间。