在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
個元素,并打印數組中的元素。
需要注意的是,可變長度數組的長度是在運行時確定的,而不是在編譯時確定的。因此,可變長度數組不支持靜態初始化,只能通過逐個賦值或通過循環等方式來填充數組的元素。