c语言

c语言怎么定义可变长度数组

小亿
159
2023-10-09 22:12:11
栏目: 编程语言

在C语言中,可以使用指针和动态内存分配来定义可变长度数组。下面是一个示例代码:

#include <stdio.h>
#include <stdlib.h>
int main() {
int n;      // 可变长度数组的长度
int* arr;   // 定义指针
printf("请输入数组的长度:");
scanf("%d", &n);
// 分配内存空间
arr = (int*)malloc(n * sizeof(int));
if (arr == NULL) {
printf("内存分配失败");
return 1;
}
// 输入数组元素
printf("请输入数组元素:");
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
// 输出数组元素
printf("数组元素为:");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
// 释放内存空间
free(arr);
return 0;
}

以上代码首先通过scanf函数获取用户输入的数组长度,然后使用malloc函数动态分配内存空间,根据用户输入的长度确定了数组的大小。接着使用循环接收用户输入的数组元素,并逐个存储到数组中。最后,使用循环遍历数组并输出数组元素。在程序结束时,使用free函数释放内存空间。

请注意,在使用完数组后,要记得释放内存空间,以避免内存泄漏。

0
看了该问题的人还看了