在C語言中,我們可以使用malloc
和realloc
函數來實現數組的動態分配。首先,需要包含stdlib.h
頭文件來使用這些函數。下面是一個示例程序,演示了如何使用scanf
和malloc
實現數組的動態分配:
#include<stdio.h>
#include <stdlib.h>
int main() {
int n, i;
int *arr;
printf("請輸入數組長度: ");
scanf("%d", &n);
// 使用 malloc 為數組分配內存
arr = (int *)malloc(n * sizeof(int));
if (arr == NULL) {
printf("內存分配失敗!\n");
exit(0);
}
// 使用 scanf 讀取數組元素
printf("請輸入%d個整數:\n", n);
for (i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
// 打印數組元素
printf("輸入的數組為:\n");
for (i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
// 釋放內存
free(arr);
return 0;
}
在這個示例中,我們首先使用scanf
讀取數組的長度n
,然后使用malloc
為數組分配內存。接下來,我們使用scanf
讀取數組的每個元素,并將其存儲在分配的內存中。最后,我們打印數組的元素并釋放內存。