热门问题
时间线
聊天
视角

C動態內存分配

储存管理机制 来自维基百科,自由的百科全书

Remove ads

C動態內存分配是在C語言中為了實現動態內存分配而進行的手動內存管理。這種管理是通過C標準函式庫中的mallocrealloccallocfree 等函數進行的。[1][2]

C++ 為了兼容 C 語言也提供這些函數,但是更推薦使用 newdelete 操作符來完成類似的操作。[3]

malloc 所實際使用的內存分配機制有很多不同的實現,執行時間和內存消耗各有不同。

函數概述

C 動態內存分配函數在頭文件 stdlib.h 中聲明(C++ 中對應的頭文件名稱為 cstdlib)。[1]

更多信息 函數, 描述 ...

類型安全

malloc 所執行的內存分配基於字節數而不是類型,其返回類型為 void 指針(void *),表示該指針所指向區域的數據類型未知。C++ 由於其強類型系統,實際使用該指針時需要進行強制類型轉換,而 C 語言中則不必進行。

int * ptr;
ptr = malloc(10 * sizeof(int));		/* 不进行强制类型转换 */
ptr = (int *)malloc(10 * sizeof(int));	/* 进行强制类型转换 */

另見

參考資料

Loading content...
Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads