c语言怎么定义可变长度数组
在C语言中,可以使用指针和动态内存分配来定义可变长度数组。下面是一个示例代码:
```c
#include
#include
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函数释放内存空间。
请注意,在使用完数组后,要记得释放内存空间,以避免内存泄漏。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341