C语言中怎么定义一个动态长度的数组
时间: 2023-06-14 10:05:23 浏览: 89
在C语言中,可以使用指针和动态内存分配函数来定义动态长度的数组。具体步骤如下:
1. 定义指针变量。例如:
```
int *arr;
```
2. 使用动态内存分配函数来为数组分配内存。常用的函数有`malloc()`、`calloc()`和`realloc()`,它们分别用于申请内存、申请并清零内存以及重新分配内存。例如:
```
int n = 10; // 数组长度为10
arr = (int*)malloc(n * sizeof(int)); // 分配n个int类型的内存空间
```
3. 使用指针变量访问数组元素。例如:
```
arr[0] = 1;
arr[1] = 2;
...
```
4. 记得在使用完数组后释放内存。例如:
```
free(arr);
```
完整示例代码如下:
```
#include <stdio.h>
#include <stdlib.h>
int main() {
int n;
printf("请输入数组长度:");
scanf("%d", &n);
int *arr;
arr = (int*)malloc(n * sizeof(int));
if (arr == NULL) {
printf("内存分配失败!\n");
return -1;
}
printf("请输入%d个整数:\n", n);
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
printf("您输入的数组为:\n");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
free(arr);
return 0;
}
```
阅读全文