在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;
}
以上代码会先从用户输入数组的大小,然后动态分配内存空间,给数组赋值,然后输出数组的元素,最后释放内存空间。