在C語言中,可以使用malloc()
函數動態分配數組的內存空間。malloc()
函數的函數原型為:
void* malloc(size_t size);
其中,size
參數表示需要分配的內存空間的大小,單位是字節。malloc()
函數會返回一個指向分配的內存空間的指針。
例如,下面的代碼演示了如何動態分配一個包含5個整數的數組:
#include <stdio.h>
#include <stdlib.h>
int main() {
int n = 5;
int* arr = (int*)malloc(n * sizeof(int));
if (arr == NULL) {
printf("動態內存分配失敗\n");
return 1;
}
for (int i = 0; i < n; i++) {
arr[i] = i + 1;
}
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
free(arr); // 釋放動態分配的內存空間
return 0;
}
在上面的代碼中,malloc(n * sizeof(int))
語句分配了大小為n * sizeof(int)
字節的內存空間,并將分配的內存空間的指針賦給arr
變量。在使用完動態分配的內存空間后,需要使用free()
函數釋放該內存空間,以防止內存泄漏。
需要注意的是,動態分配的內存空間在使用完后需要手動釋放,否則會導致內存泄漏。