在C語言中,可以使用動態內存分配來定義不確定長度的數組。具體步驟如下:
int* arr;
malloc
函數來動態分配內存空間。malloc
函數需要傳入一個參數,表示要分配的內存空間的大小。例如,arr = (int*)malloc(sizeof(int) * n);
,其中n
為數組的長度。arr[0] = 1;
,arr[1] = 2;
,依此類推。free
函數來釋放內存空間。例如,free(arr);
完整示例代碼如下:
#include <stdio.h>
#include <stdlib.h>
int main() {
int n;
printf("請輸入數組的長度:");
scanf("%d", &n);
int* arr;
arr = (int*)malloc(sizeof(int) * n);
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;
}
在上述示例中,首先通過用戶輸入獲取數組的長度。然后使用malloc
函數動態分配內存空間,將返回的指針賦值給數組指針變量arr
。接下來,用戶輸入數組元素,并輸出數組元素。最后,使用free
函數釋放內存空間。