在C語言中,可以使用標準庫函數malloc()
來動態分配數組空間。malloc()
函數的原型如下:
void * malloc(size_t size);
其中,size
參數表示要分配的字節數。malloc()
函數返回一個指向分配內存空間的指針,如果分配失敗,則返回NULL
。
下面是一個示例代碼,演示如何使用malloc()
動態分配數組空間:
#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;
}
在上面的代碼中,首先通過malloc()
函數動態分配了一個長度為n
的整型數組arr
的空間。然后,通過循環讀取用戶輸入的數組元素,并打印數組元素。最后,通過free()
函數釋放了分配的內存空間。