在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函數釋放內存空間。
請注意,在使用完數組后,要記得釋放內存空間,以避免內存泄漏。