c语言中可变长度数组的例子
时间: 2024-11-21 12:02:10 浏览: 9
在 C 语言中,由于其静态类型的特性,标准库中并没有内置的可变长度数组(VLA,Variable Length Array)。然而,你可以通过一些技巧间接地创建类似的功能。一种常见的做法是在函数内部声明并初始化数组,数组的大小在函数调用时由用户传入作为参数动态确定。例如:
```c
#include <stdio.h>
void print_elements(int n, int arr[]) {
// 检查传递的 n 是否大于0
if (n > 0) {
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]); // 这里的 arr 就是一个可变长度数组
}
printf("\n");
} else {
printf("Array size must be greater than zero.\n");
}
}
int main() {
int array_length; // 用户输入的数组长度
printf("Enter the number of elements: ");
scanf("%d", &array_length);
// 动态分配内存
int dynamic_arr[array_length]; // 在栈上为用户指定的大小分配空间
// 填充数组元素(这里省略了)
// ...
// 调用函数打印数组
print_elements(array_length, dynamic_arr);
return 0;
}
```
阅读全文