在C语言中,可以使用可变长度数组(Variable Length Array,VLA)来定义数组,其长度可以在运行时确定。
定义可变长度数组的语法形式如下:
type array_name[length];
其中,type
表示数组元素的类型,array_name
是数组的名称,length
是数组的长度,可以是变量或表达式。
以下是一个使用可变长度数组的示例:
#include <stdio.h>
int main() {
int n;
printf("Enter the size of the array: ");
scanf("%d", &n);
int arr[n];
printf("Enter %d elements:\n", n);
for(int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
printf("The elements in the array are: ");
for(int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
在上述示例中,用户输入数组的大小(n
),然后定义一个可变长度数组 arr
,长度为 n
。接下来,用户逐个输入 n
个元素,并打印数组中的元素。
需要注意的是,可变长度数组的长度是在运行时确定的,而不是在编译时确定的。因此,可变长度数组不支持静态初始化,只能通过逐个赋值或通过循环等方式来填充数组的元素。