在C語言中,未知數組長度可以通過指針來表示。具體來說,可以使用指針作為數組的首地址,并且在定義指針時不給定具體的數組長度。
例如:
int *arr; // 定義一個整型指針arr,表示未知長度的整型數組
int length; // 聲明一個變量length,表示數組的長度
printf("請輸入數組的長度:");
scanf("%d", &length);
arr = (int*)malloc(length * sizeof(int)); // 根據用戶輸入的長度動態分配內存
// 使用arr指針訪問數組元素
for (int i = 0; i < length; i++) {
arr[i] = i + 1;
}
// 打印數組元素
for (int i = 0; i < length; i++) {
printf("%d ", arr[i]);
}
free(arr); // 釋放動態分配的內存
在上述代碼中,首先定義了一個整型指針arr
,然后通過malloc
函數動態分配了length
個整型變量的內存空間,并將首地址賦給arr
。接下來可以通過arr
指針訪問和操作數組元素。最后使用free
函數釋放動態分配的內存空間。