在C語言中,動態分配內存可以使用malloc
、calloc
和realloc
等函數。這些函數都是在stdlib.h
頭文件中定義的。下面是一個關于如何動態分配和釋放int
數組的示例:
#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");
return -1;
}
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;
}
在這個示例中,我們首先使用malloc
函數動態分配了一個int
類型的數組。數組的大小由用戶輸入的n
決定。然后,我們使用scanf
函數獲取用戶輸入的n
個整數,并將它們存儲在動態分配的數組中。最后,我們使用free
函數釋放了動態分配的內存。
注意:在使用動態分配的內存時,務必確保在不再需要時正確地釋放內存,以避免內存泄漏。