在C语言中,要使用动态数组,需要使用指针和动态内存分配的函数来实现。下面是建立和使用动态数组的步骤:
1. 声明一个指针变量来存储动态数组的地址:例如,`int* arr;`
2. 使用动态内存分配的函数`malloc()`来为数组分配内存空间,并将返回的指针赋给指针变量:例如,`arr = (int*)malloc(n * sizeof(int));` 这里的`n`是数组的大小,`sizeof(int)`是每个元素的大小。
3. 使用指针来访问和操作数组的元素。例如,`arr[0] = 10;` 可以给数组的第一个元素赋值为10。
4. 使用完数组后,记得使用`free()`函数释放内存空间,以防止内存泄漏:例如,`free(arr);`
下面是一个完整的示例代码:
```c
#include
#include
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;
}
```
以上代码会先从用户输入数组的大小,然后动态分配内存空间,给数组赋值,然后输出数组的元素,最后释放内存空间。