在C語(yǔ)言中,動(dòng)態(tài)分配內(nèi)存可以使用malloc
、calloc
和realloc
等函數(shù)。這些函數(shù)都是在stdlib.h
頭文件中定義的。下面是一個(gè)關(guān)于如何動(dòng)態(tài)分配和釋放int
數(shù)組的示例:
#include<stdio.h>
#include <stdlib.h>
int main() {
int n, i;
int *arr;
printf("請(qǐng)輸入數(shù)組長(zhǎng)度: ");
scanf("%d", &n);
// 使用 malloc 動(dòng)態(tài)分配內(nèi)存
arr = (int *)malloc(n * sizeof(int));
if (arr == NULL) {
printf("內(nèi)存分配失??!\n");
return -1;
}
printf("請(qǐng)輸入%d個(gè)整數(shù):\n", n);
for (i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
printf("輸入的整數(shù)為:\n");
for (i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
// 釋放動(dòng)態(tài)分配的內(nèi)存
free(arr);
return 0;
}
在這個(gè)示例中,我們首先使用malloc
函數(shù)動(dòng)態(tài)分配了一個(gè)int
類型的數(shù)組。數(shù)組的大小由用戶輸入的n
決定。然后,我們使用scanf
函數(shù)獲取用戶輸入的n
個(gè)整數(shù),并將它們存儲(chǔ)在動(dòng)態(tài)分配的數(shù)組中。最后,我們使用free
函數(shù)釋放了動(dòng)態(tài)分配的內(nèi)存。
注意:在使用動(dòng)態(tài)分配的內(nèi)存時(shí),務(wù)必確保在不再需要時(shí)正確地釋放內(nèi)存,以避免內(nèi)存泄漏。