在C語言中,malloc
函數用于動態分配內存空間。其函數原型為:
void* malloc(size_t size);
malloc
函數接受一個size_t
類型的參數,表示要分配的字節數。它會在堆內存中分配指定大小的連續空間,并返回一個指向該空間的指針。
使用malloc
函數的一般步驟如下:
malloc
返回的指針。malloc
函數,并傳入要分配的字節數作為參數。NULL
,以確認內存是否成功分配。free
函數釋放該內存空間,以防止內存泄漏。下面是一個簡單的示例,演示了malloc
的用法:
#include <stdio.h>
#include <stdlib.h>
int main() {
int* ptr;
int size = 5;
// 動態分配一個包含5個int類型元素的內存空間
ptr = (int*)malloc(size * sizeof(int));
// 檢查內存是否成功分配
if (ptr == NULL) {
printf("內存分配失敗\n");
return 1;
}
// 使用分配的內存空間
for (int i = 0; i < size; i++) {
ptr[i] = i + 1;
}
// 輸出分配的內存空間的內容
for (int i = 0; i < size; i++) {
printf("%d ", ptr[i]);
}
printf("\n");
// 釋放內存空間
free(ptr);
return 0;
}
在上面的示例中,在調用malloc
函數分配內存之后,我們使用了指針ptr
來操作內存空間,向其中寫入了數據并輸出了內容。最后,通過調用free
函數來釋放內存空間,確保不會發生內存泄漏。